2010-08-03 4 views
7

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

BEGIN:VCALENDAR 
VERSION:2.0 
METHOD:REQUEST 
BEGIN:VEVENT 
ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected] 
ORGANIZER:MAILTO:[email protected] 
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 ics как текст/календарь на нем. Процесс добавления его - это просто создать файл tmp на диске и добавить его в виде вложения, а затем отправить с помощью CDO. Кто-нибудь знает, почему Outlook будет добавлять его как .msg?

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

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 году они оба - календарь/текст.

ответ

2

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

+0

Я добавляю текстовый файл (Meeting.ics) или текстовый файл до WinServer 2008 с текстом ICS в нем как вложение. Я установил мим на текст/календарь. – Corv1nus

+2

Затем вы получите ожидаемый результат: обычное почтовое сообщение с прикрепленной записью. Ваша ICS должна быть единственной частью MIME, и сам заголовок сообщения должен указывать тип как текст/календарь. –

+1

BTW, что показывает трафик вашего сетевого трафика? Можете ли вы опубликовать все сообщение MIME, поскольку оно отправлено по проводам? –

3

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

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

2

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

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

Из MSDN:

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

+0

Клиенты получают сообщения HTML в порядке, но я могу проверить это в прикрепленных файлах для проверки. Это довольно странно, поскольку вложения TXT также прекрасны (что будет поддерживать ваш ответ). Это всего лишь ICS, который закручивается. – Corv1nus

Смежные вопросы