У меня есть приложение, оно создает 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"
В обеих есть четыре части сообщения:
- Текст
- HTML
- Приложение 1
- Приложение 2
В версии 2003, которая работает, один - это поток приложения / октета, а другой - календарь / текст. В 2008 они оба - календарь / текст.