2015-06-02 112 views
0

我做了与iCal文件发出一封电子邮件,以下列格式内容的PHP脚本的日历事件:格式电子邮件/邀请展望自动呈现为

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:MEETINGSENDER 
CALSCALE:GREGORIAN 
METHOD:REQUEST 
BEGIN:VEVENT 
DTSTART:20150616T130000Z 
DTEND:20150616T140000Z 
DTSTAMP:20150616T120000Z 
ORGANIZER;[email protected]:mailto:[email protected] 
UID:[email protected] 
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP= TRUE;[email protected];X- 

NUM-GUESTS=0:mailto:[email protected] 
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;[email protected];X-NUM- 

GUESTS=0:mailto:[email protected] 
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;[email protected];X- 

NUM-GUESTS=0:mailto:[email protected] 
CREATED:20150616T120000Z 
DESCRIPTION:Thank you for requesting a meeting! 
LAST-MODIFIED:20150616T120000Z 
LOCATION:Phone Meeting 
SEQUENCE:0 
STATUS:CONFIRMED 
SUMMARY:This is a test meeting 
TRANSP:OPAQUE 
END:VEVENT 
END:VCALENDAR 

当通过收到的电子邮件gmail客户端,会议呈现为一个日历项目,并为用户提供自动添加到日历的选项(而不必下载ICS文件并手动执行此操作)。

但是,当Outlook客户端收到电子邮件时,它不会提供接受,拒绝等日历选项,而是用户必须下载该文件。这很奇怪,因为如果我使用Outlook向用户发送gmail的邀请,它会为他们提供默认的日历选项,例如批准,拒绝等。

我是否缺少iCal文件中的某些内容,或者是否需要某些电子邮件内容中的特殊元数据/标题的种类,以使这与Outlook的正常工作?

+0

向其他客户端发送Outlook日历邀请,并在接收端查看电子邮件源。这会告诉你Outlook在传入日历请求中期望看到什么。 –

+0

您应该显示所有电子邮件标题以帮助我们调试您的问题。仅iCalendar附件是不够的。 – Evert

回答

0

尝试使iCal成为文本/日历内容类型的邮件的唯一MIME部分。