通过Smtp发送iCalendar邀请

通过Smtp发送iCalendar邀请,smtp,icalendar,Smtp,Icalendar,几天来,我一直在尝试通过smtp发送iCalendar邀请。我正在使用DDay.iCal库来构建邮件的iCalendar组件,并且我正在使用一个或多或少自主开发的smtp服务器来发送邮件(不幸的是,我暂时无法使用此解决方案) 我搞砸了几种不同的方法,但我一点运气都没有。结果通常是收件人收到一封带有.ics附件的电子邮件。在outlook中,我可以打开附件并将其添加到日历中;gmail只允许我下载附件。它没有将其识别为日历邀请 下面是我尝试过的一个场景的示例。有人能告诉我它有什么问题,或者需要做些

几天来,我一直在尝试通过smtp发送iCalendar邀请。我正在使用DDay.iCal库来构建邮件的iCalendar组件,并且我正在使用一个或多或少自主开发的smtp服务器来发送邮件(不幸的是,我暂时无法使用此解决方案)

我搞砸了几种不同的方法,但我一点运气都没有。结果通常是收件人收到一封带有.ics附件的电子邮件。在outlook中,我可以打开附件并将其添加到日历中;gmail只允许我下载附件。它没有将其识别为日历邀请

下面是我尝试过的一个场景的示例。有人能告诉我它有什么问题,或者需要做些什么来构建一个合适的日历邀请消息吗

谢谢

Delivered-To: jordan_test@gmail.com
Received: by 10.68.224.234 with SMTP id rf10csp257513pbc;
    Mon, 27 Aug 2012 09:16:44 -0700 (PDT)
Received: by 10.50.85.228 with SMTP id k4mr10905189igz.22.1346084204116;
    Mon, 27 Aug 2012 09:16:44 -0700 (PDT)
Return-Path: <283877=jordan_test=gmail.com@smtp.mycompany.com>
Received: from smtp.mycompany.com ([214.16.251.150])
    by mx.google.com with SMTP id cw2si32587704icc.106.2012.08.27.09.16.43;
    Mon, 27 Aug 2012 09:16:44 -0700 (PDT)
Received-SPF: neutral (google.com: 214.16.251.150 is neither permitted nor denied by domain of 283877=jordan_test=gmail.com@smtp.mycompany.com) client-ip=215.16.251.150;
Authentication-Results: mx.google.com; spf=neutral (google.com: 215.16.251.150 is neither permitted nor denied by domain of 283877=jordan_test=gmail.com@smtp.mycompany.com) smtp.mail=283877=jordan_test=gmail.com@smtp.mycompany.com
Date: Mon, 27 Aug 2012 16:16:43 GMT
X-Mailer: BlahCommunicationsServices 1.0.0, by BLAH Inc.
Subject: =?UTF-8?B?SGV5ISB0aGlzIGlzIGZvciB5b3Uu?=
From: <ical@return.mycompany.com>
To: <jordan_test@gmail.com>
Reply-To: <ical@return.mycompany.com>
MIME-Version: 1.0
X-Priority: 3 (Normal)
Content-Type: multipart/alternative;boundary="__=_Part_Boundary_1687780707_370337274"
Message-Id: <283877@smtp.mycompany.com>
References: <283877@smtp.mycompany.com>





--__=_Part_Boundary_1687780707_370337274
Content-Transfer-Encoding: 7bit
Content-Type: text/plain

test test test


--__=_Part_Boundary_1687780707_370337274
Content-Transfer-Encoding: 7bit
Content-Type: text/calendar;method=REQUEST;charset=utf-8

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
PRODID:-//ddaysoftware.com//NONSGML DDay.iCal 1.0//EN
BEGIN:VEVENT
ATTENDEE;CN=Jordan;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CUTYPE=INDIVIDUAL;RSVP=TRUE:MAILTO:jordan@mycompany.com
ATTENDEE;CN=Jordan;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CUTYPE=INDIVIDUAL;RSVP=TRUE:MAILTO:jordan_test@gmail.com
DESCRIPTION:test test test
DTEND:20120828T130000
DTSTAMP:20120827T121642
DTSTART:20120828T120000
ORGANIZER:MAILTO:ical@return.mycompany.com
SEQUENCE:0
SUMMARY:Hey! this is for you.
UID:234434
END:VEVENT
BEGIN:VTIMEZONE
END:VTIMEZONE
END:VCALENDAR



--__=_Part_Boundary_1687780707_370337274--
交付至:约旦_test@gmail.com
收到日期:10.68.224.234,SMTP id为rf10csp257513pbc;
2012年8月27日星期一09:16:44-0700(太平洋时间)
收到日期:10.50.85.228,SMTP id为k4mr10905189igz.22.1346084204116;
2012年8月27日星期一09:16:44-0700(太平洋时间)
返回路径:
收到:来自smtp.mycompany.com([214.16.251.150])
通过mx.google.com发送,SMTP id为cw2si32587704icc.106.2012.08.27.09.16.43;
2012年8月27日星期一09:16:44-0700(太平洋时间)
收到的SPF:neutral(google.com:214.16.251.150)既不被283877=jordan_test=gmail的域名允许也不被拒绝。com@smtp.mycompany.com)客户ip=215.16.251.150;
认证结果:mx.google.com;spf=neutral(google.com:215.16.251.150)是283877=jordan_test=gmail域名既不允许也不拒绝的。com@smtp.mycompany.com)smtp.mail=283877=jordan_test=gmail。com@smtp.mycompany.com
日期:2012年8月27日星期一格林尼治标准时间16:16:43
X-Mailer:BlahCommunicationsServices 1.0.0,由BLAH公司提供。
主题:=?UTF-8?B?SGV5ISB0aGlzIGlzIGZvciB5b3Uu=
发件人:
致:
答复:
MIME版本:1.0
X优先级:3(正常)
内容类型:多部分/备选;boundary=“\uuuuu=\u Part\u boundary\u 1687780707\u 370337274”
消息Id:
参考资料:
--__=_部分_边界_1687780707_370337274
内容传输编码:7bit
内容类型:文本/纯文本
测试
--__=_部分_边界_1687780707_370337274
内容传输编码:7bit
内容类型:文本/日历;方法=请求;字符集=utf-8
开始:VCALENDAR
版本:2.0
方法:发布
PRODID:-//ddaysoftware.com//NONSGML DDay.iCal 1.0//EN
开始:VEVENT
与会者;CN=约旦;角色=REQ-参与者;PARTSTAT=暂定;类型=个体;RSVP=TRUE:MAILTO:jordan@mycompany.com
与会者;CN=约旦;角色=REQ-参与者;PARTSTAT=暂定;类型=个体;RSVP=TRUE:MAILTO:jordan_test@gmail.com
描述:测试
DTEND:20120828T130000
DTSTAMP:20120827T121642
DTSTART:20120828T120000
组织者:邮寄至:ical@return.mycompany.com
序列:0
小结:嘿!这是给你的。
UID:234434
完:维文特
开始:VTIMEZONE
完:VTIMEZONE
完:VCALENDAR
--__=_部分_边界_1687780707_370337274--

顺便说一句,在引用中列出自己的消息Id肯定很奇怪。如果一条消息不是一个线程的一部分,不要放在引用头中。我只是熟悉RFC6047,但我想知道;MIME
method=
属性不应该与正文中的
method:
字段匹配吗?另请参见,尽管它似乎希望您的日历在HTTP服务器上,而不是在电子邮件中。投诉了空的
VTIMEZONE
代码段。谢谢!VTIMEZONE片段实际上就是问题所在。有趣的是,当我用这个代码片段生成一个iCal文件并将其保存到硬盘时,outlook在我打开它时并没有抱怨。