Outlook不识别的iCal附件(Outlook doesn't recognise ic

2019-10-29 09:28发布

我必须从传统的ASP应用程序发送日历邀请接纳到Outlook中。 使用各种不同的邮件组件(ASPEmail,ASPMail,JMail的)我已发送的邮件带有附件,但在收到时,Outlook不识别该附件作为一个日历邀请,而Gmail也。

在JMail的我可以设置内容类型的附件文本/日历,但这并没有区别。

该邀请已经过测试, 在这里 ,它验证罚款。

我愿意接受任何解决问题的对策,包括工作邀请为内联,但不幸的是.NET和PHP不是选项。

下面是一些测试代码 - JMail的是唯一的组成部分,我可以找到在哪里我可以设置附件的内容类型。

set msg = Server.CreateOBject( "JMail.Message" )
set attachment = Server.CreateOBject( "JMail.Attachment" )

msg.Logging = true
msg.silent = true

msg.From = "website@userdomain.com"
msg.FromName = "Website"
msg.AddRecipient "outlook@userdomain.com", "Outlook"
msg.Subject = "Meeting"
msg.Body = "Meeting invite attached"

'although cid not needed, i could only get this to work by using cid =
cid = msg.AddAttachment (server.mappath(".\invite.ics"), false, "text/calendar")

msg.ContentType = "text/calendar"

if not msg.Send("mail.userdomain.com" ) then
    Response.write "<pre>" & msg.log & "</pre>"
else
    Response.write "Message sent succesfully!"
end if

设置消息内容类型为文本/日历以及之后,在附件时,点击它现在显示为十六进制,而不是一个简单的文本文件。 它仍然没有公认的邀请。 下面是它的顶部:

This is a multipart message in MIME format.
----NEXT_BM_D29EC5CD87384387A59E240A29CD74DD
Content-Type: text/plain;
    charset="iso-8859-1"
Content-Transfer-Encoding: Quoted-Printable

Meeting invite attached

----NEXT_BM_D29EC5CD87384387A59E240A29CD74DD
Content-Type: text/calendar; name="=?iso-8859-1?Q?invite=2Eics?="
Content-Transfer-Encoding: base64
Content-Description: =?iso-8859-1?Q?invite=2Eics?=
Content-Disposition: attachment; filename="=?iso-8859-1?Q?invite=2Eics?="
Content-ID: <8AB4D71598B445B88353F487644AC2F3>

我使用Office专业增强版2013的测试版的方式。

在接收到的GMail类似的消息显示了这些标头:

Content-Type: text/calendar;
    boundary="--NEXT_BM_675B64750B5649EAAF1A3F3D9EC69302"
Return-path: <website@userdomain.com>

This is a multipart message in MIME format.
----NEXT_BM_675B64750B5649EAAF1A3F3D9EC69302
Content-Type: text/plain;
    charset="iso-8859-1"
Content-Transfer-Encoding: Quoted-Printable

Meeting invite attached

----NEXT_BM_675B64750B5649EAAF1A3F3D9EC69302
Content-Type: text/calendar; name="=?iso-8859-1?Q?invite=2Eics?="
Content-Transfer-Encoding: base64
Content-Description: =?iso-8859-1?Q?invite=2Eics?=
Content-Disposition: attachment; filename="=?iso-8859-1?Q?invite=2Eics?="
Content-ID: <C6C87170FE7B4BC581E7EE33EE24BC71>

因此,消息类型确实设置为文本/日历但该消息的文本部分被设置为文本平原。

使用代码的修改版本,与主体设置为实际的iCal数据,和与内容类型文本/日历的时,Outlook仍不能识别它作为一个邀请,但使用邮件主题体内转换成附接作为文件名如test.ics

Answer 1:

由于来自客户的压力,快速找到一个解决方案,我选择使用旧版本的vCalendar 1级的规格和使用.vcs文件,而不是一个的.ics做到这一点。

在测试Outlook已探明高兴地识别文本.vcs附件作为日历条目,而不需要特殊的内容类型等等这种格式,虽然很旧,已全部功能,我们的客户需要。

对于电子日历版本1.0(.vcs)完整规范,可以发现http://www.imc.org/pdi/pdiproddev.html



Answer 2:

确保邮件内容类型是日历,不仅仅是附件。 如果邀请需要包括附件,需要将它们嵌入到iCal的一部分,而不是添加作为单独的附件。



文章来源: Outlook doesn't recognise ical attachment