ICS в Outlook, отправляемом как .msg файл

У меня есть приложение, оно создает ICS, подобный следующему:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:test1234@gmail.com
ORGANIZER:MAILTO:test1234@org.com
DTSTART:20100803T190000Z
DTEND:20100803T200000Z
LOCATION:Go to http://100.200.0.55/Login/ParticipantLogIn.asp and enter
   Conference ID: 0000
SEQUENCE:0
UID:352C75A6-0117-4B3A-AFE6-7B18649CD45A
DTSTAMP:20100803T184455Z
DESCRIPTION:TO ACCESS THE WEB CONFERENCE:\n\n    Click on the link bel
  ow:\n
SUMMARY:Test User's Conference
PRIORITY:5
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

При посылании на счет Gmail он отправляется как файл ICS, и все корректно. При отправке в Outlook 2003 или 2007 он присоединяется как .msg файл и двоичный. Используемый сервер является Windows Server 2008. Я установил тип пантомимы ics как текст/календарь на нем. Процесс для добавления его просто создает tmp файл на диске и добавляет его как вложение, затем отправляя использующий CDO. Кто-либо знает какую-либо причину, почему Outlook добавил бы его как .msg?

Кроме того, мы используем тот же Exchange Server, и он хорошо работает от Windows Server 2003.

Обновление с сетевой трассировкой для вложения

2003

X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4073

Content-Type: application/octet-stream;
    name="meeting.ics"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
    filename="meeting.ics"

2008

X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18197
Content-Type: text/calendar;
    name="meeting.ics"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
    filename="meeting.ics"

В обоих существует четыре части сообщения:

  1. Текст
  2. HTML
  3. Вложение 1
  4. Вложение 2

В версии 2003 года, которая работает, каждый - поток приложения/октета, и каждый - календарь/текст. В 2008 они оба - календарь/текст.

7
задан Corv1nus 19 August 2010 в 14:13
поделиться

3 ответа

Вы добавляете VCALENDAR как основную (и единственную) часть MIME или как одно из вложений? Существует большая разница.

2
ответ дан 7 December 2019 в 07:38
поделиться

Похоже, это проблема с CDO в Windows Server 2008. Выполнение трассировки сетевого трафика на каждом сервере показало огромную разницу в передаваемом сообщении.

Похоже, что по какой-то причине метод AddAttachment не использует тот же MIME, что и в 2003. Ручное добавление вложения и управление MIME исправит это.

3
ответ дан 7 December 2019 в 07:38
поделиться

Возможно, что данные TNEF отсутствуют в электронном письме. В этом случае письмо будет отображаться как обычный текст. Вам следует проверить настройки TNEF, чтобы убедиться, что он не удаляется из писем.

Проверьте в ESM, включена ли опция удаления TNEF.

Из MSDN:

В дополнение к принимающему клиенту, нередко почтовый сервер удаляет информацию TNEF из почтовых сообщений при их доставке. Если опция сервера по удалению TNEF включена, клиенты всегда будут получать обычную текстовую версию сообщения. Microsoft Exchange Server является примером приложения почтового сервера который имеет возможность удалять TNEF из сообщений.

2
ответ дан 7 December 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: