包含文本和日历的多部分电子邮件:Outlook无法识别ics

我在Outlook 2007中遇到了问题。发送包含“文本/日历”部分的“多部分/备用”电子邮件时,Outlook会识别日历事件,这就是它的实际情况。 但是,添加“文本/纯文本”部分时,Outlook只显示纯文本,日历部分丢失(但它存在于电子邮件的源代码中)。

源代码如下所示:

[...] Content-Type: multipart/alternative; boundary="_=_swift_v4_138243630552664dd1bc83e_=_" --_=_swift_v4_138243630552664dd1bc83e_=_ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable [...the plain message...] --_=_swift_v4_138243630552664dd1bc83e_=_ Content-Type: text/calendar; charset=utf-8 Content-Transfer-Encoding: quoted-printable BEGIN:VCALENDAR VERSION:2.0 PRODID:-//GourmetPortal//NONSGML rr//DE BEGIN:VEVENT UID:res-Burkert CREATED:20131030T113000Z ORGANIZER;CN=3DSven Burkert:MAILTO:[...] SUMMARY:[...] DESCRIPTION:[...] DTSTART:20131030T113000Z END:VEVENT END:VCALENDAR --_=_swift_v4_138243630552664dd1bc83e_=_-- 

您缺lessiTIP方法,无论是在内容types中:

 Content-Type: text/calendar; charset="utf-8"; method=REQUEST 

并作为VCALENDAR财产:

 BEGIN:VCALENDAR VERSION:2.0 METHOD:REQUEST PRODID:-//GourmetPortal//NONSGML rr//DE 

该方法可能是PUBLISH或REQUEST(在这种情况下,你也会错过一些ATTENDEE属性)。

然后,有些客户端会忽略多合一/备选中的iMIP,并且只能作为附件查看,因此您可能需要尝试以下结构:

 multipart/mixed multipart/alternative text/plain text/calendar;method=REQUEST text/calendar (with a content-disposition:attachment) 

基本上,你要添加两次附件。 来自谷歌/雅虎日历和闪电的iMIP邀请有这样的结构。

要确保Outlook始终能识别iCal部分,请创build一个消息,其中文本/日历是唯一的MIME部分。 一切(身体,附件等)应该embedded在VEVENT部分。