我有从T4模板创建的ICS文件,如下所示。
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
BEGIN:VEVENT
DTSTART:20190129T013000Z
DTend:20190129T023000Z
SUMMARY;ENCODING=QUOTED-PRINTABLE: Hasitha Dananjaya
LOCATION;ENCODING=QUOTED-PRINTABLE:
DESCRIPTION;CONTENT-TYPE:text/html:ENCODING=QUOTED-PRINTABLE:<p>test test</p><p> </p><p> </p><p>test line 2</p>=0D=0A=0D=0A
X-ALT-DESC;FMTTYPE=text/html:<p>test test</p><p> </p><p> </p><p>test line 2</p>
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
CATEGORIES:Business
PRIORITY:3
END:VEVENT
END:VCALENDAR
从MS Outlook 2016中打开时,它会显示原始html值,如下所示。
我确实确保两个客户端都运行HTML模式。
我只是想弄清楚这可能是根本原因。任何帮助表示赞赏。
答案 0 :(得分:1)
进行反向工程,从Outlook 2016中创建文件。保存ICS文件并打开并查看内容。
然后使用此内容替换其生成逻辑。
答案 1 :(得分:0)
实际问题是DESCRIPTION和X-ALT-DESC字段。
根据RFC2445,DESCRIPTION是指定约会的纯文本主体,并且X-ALT-DESC用于为HTML的DESCRIPTION属性提供备用格式。
某种程度上,MS OUTLOOK 2013默认情况下读取X-ALT-DESC,而OUTLOOK 2016默认情况下读取Description。仅当不存在DESCRIPTION时,2016年才退回到X-ALT-DESC。
因此,解决方法是按以下步骤保留ICS文件。
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
BEGIN:VEVENT
DTSTART:20190201T013000Z
DTend:20190201T023000Z
SUMMARY;ENCODING=QUOTED-PRINTABLE: Hasitha Dananjaya
LOCATION;ENCODING=QUOTED-PRINTABLE:
DESCRIPTION:\naaaaaaaaaaaaa\naaaaaaaaaaaaaaaaaaaaaaa\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
X-ALT-DESC;FMTTYPE=text/html:<p>aaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</p>
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
CATEGORIES:Business
PRIORITY:3
END:VEVENT
END:VCALENDAR