2

我创建了一个发送 iCalendar 活动邀请的 php 脚本(基于RFC 5545)。一切正常,但在 iPhone (iOS 4.2.1) 和 iPad (iOS 5.1) 上,我没有接受/拒绝事件的选项(显示为 mime-attachment.ics),只能将其添加到我的日历。在其他邮件客户端(outlook、thunderbird、gmail)中,这可以按预期工作。

iOS 的邮件客户端是否支持发送此类回复?如果是,有谁知道我应该指定什么来完成这项工作?

这是 ics 文件的示例内容:

BEGIN:VCALENDAR
PRODID:-//Some organization//some application//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
UID:20120920T150350Z-70@http://localhost/www/
CREATED:20120920T150350Z
DTSTAMP:20120921T080800Z
DTSTART:20120921T080800Z
DTEND:20120922T060800Z
DESCRIPTION:Please attend this sample meeting
SUMMARY:Invitation to attend training
LOCATION:Earth
ATTENDEE;RSVP=TRUE:mailto:periklis@example.com
ORGANIZER;CN=periklis@example.com:mailto:periklis@example.com
LAST-MODIFIED:20120921T080800Z
PRIORITY:5
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
4

1 回答 1

3

在仔细阅读了 RFC 之后,这是我使用和工作的内容:

BEGIN:VCALENDAR
PRODID:-//Some organization//some application//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
UID:20120925T072912Z-140@http://localhost/www/
CREATED:20120925T072912Z
DTSTAMP:20120922T090500Z
DTSTART:20120922T090500Z
DTEND:20120923T090500Z
DESCRIPTION:Please attend this sample meeting
SUMMARY:Invitation to attend training
LOCATION:Earth
ATTENDEE;RSVP=TRUE:mailto:periklis@example.com
ORGANIZER;CN=periklis@example.com:mailto:periklis@example.com
LAST-MODIFIED:20120922T090500Z
PRIORITY:5
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

还值得一提的是,以上行必须用 \r\n 分隔。所以我将每一行分配给一个数组成员,然后内爆数组:

$message[]='BEGIN:VCALENDAR';
$message[]='PRODID:-//Some organization//some application//EN';
[...]
$message[]='END:VCALENDAR';

$message = implode("\r\n", $message);
于 2012-09-25T07:36:47.247 回答