ICS в Outlook отправляется в виде MSG-файла - PullRequest
7 голосов
/ 04 августа 2010

У меня есть приложение, оно создает 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. Я установил для MIME-типа тип text / calendar . Процесс его добавления - создание файла tmp на диске и добавление его в качестве вложения, а затем отправка с использованием CDO. Кто-нибудь знает какие-либо причины, почему Outlook будет добавлять его как MSG?

Кроме того, мы используем тот же сервер обмена, и он отлично работает с 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 они оба - календарь / текст.

Ответы [ 3 ]

3 голосов
/ 04 августа 2010

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

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

2 голосов
/ 13 августа 2010

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

2 голосов
/ 12 августа 2010

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

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

Из MSDN:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...