【问题标题】:Formatting email / invite for outlook to automatically render as calendar event格式化电子邮件/邀请 Outlook 以自动呈现为日历事件
【发布时间】:2015-08-16 12:02:55
【问题描述】:

我制作了一个 PHP 脚本,它发送一封带有 iCal 文件的电子邮件,内容格式如下:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:MEETINGSENDER
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20150616T130000Z
DTEND:20150616T140000Z
DTSTAMP:20150616T120000Z
ORGANIZER;CN=meetingorganizer@sampledomain.com:mailto:meetingorganizer@sampledomain.com
UID:21898556db8793bd3c@testdomain.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP= TRUE;CN=meetingorganizer@sampledomain.com;X-

NUM-GUESTS=0:mailto:meetingorganizer@sampledomain.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=testattendee@company.com;X-NUM-

GUESTS=0:mailto:testattendee@company.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=testattendee2@company.com.com;X-

NUM-GUESTS=0:mailto:testattendee2@company.com.com
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 客户端收到电子邮件时,它不会提供日历选项,例如接受、拒绝等。相反,用户必须下载 ical 文件。这很奇怪,因为如果我从 gmail 向使用 Outlook 的用户发送邀请,它会为他们提供默认日历选项,例如批准、拒绝等。

我是否遗漏了 iCal 文件中的某些内容,或者我是否需要在电子邮件内容中添加某种特殊的元数据/标题才能使 Outlook 正常工作?

【问题讨论】:

  • 在 Outlook 中向其他客户端发送日历邀请,并在接收端查看电子邮件源。这将向您显示 Outlook 期望在收到的日历请求中看到什么。
  • 您应该显示所有电子邮件标题以帮助我们调试您的问题。仅 iCalendar 附件是不够的。

标签: php email calendar outlook icalendar


【解决方案1】:

尝试使 iCal 成为具有文本/日历内容类型的消息的唯一 MIME 部分。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多