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 に答える