OGeek|极客世界-中国程序员成长平台

标题: php - iCalendar .ics 在 iOS 上接受/拒绝 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 16:26
标题: php - iCalendar .ics 在 iOS 上接受/拒绝

我创建了一个发送 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
DESCRIPTIONlease attend this sample meeting
SUMMARY:Invitation to attend training
LOCATION:Earth
ATTENDEE;RSVP=TRUE:mailto:[email protected]
ORGANIZER;[email protected]:mailto:[email protected]
LAST-MODIFIED:20120921T080800Z
PRIORITY:5
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR



Best Answer-推荐答案


在仔细阅读了 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
DESCRIPTIONlease attend this sample meeting
SUMMARY:Invitation to attend training
LOCATION:Earth
ATTENDEE;RSVP=TRUE:mailto:[email protected]
ORGANIZER;[email protected]:mailto:[email protected]
LAST-MODIFIED:20120922T090500Z
PRIORITY:5
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

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

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

$message = implode("\r\n", $message);

关于php - iCalendar .ics 在 iOS 上接受/拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12515534/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4