0

PHPMailer を使用して顧客に会議の招待状を送信しようとしています。*.ics ファイルは、PHP を使用して動的に生成されます (ファイル システムには保存されません)。

私の iCalendar ファイルは次のようになります。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//Productname//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
SEQUENCE:0
LAST-MODIFIED:20131023T120039ZUID:20131023T120039-29881-www.host.com
DTSTAMP:20131023T120039Z
DTSTART:20131102T083000Z
DTEND:20131102T084500Z
LOCATION:event location
SUMMARY;LANGUAGE=us-en:topic of the meeting 
DESCRIPTION: further information
ORGANIZER; CN="Organizer":mailto:organizer@host.com
BEGIN:VALARM
TRIGGER:-P1D
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

残念ながら、まだ *.ics ファイルを添付ファイルとして追加することができました。

$icalendar = new ICalendar();
$mail->AddStringAttachment($icalendar->genICalendar(), "meeting.ics", "base64", "text/calendar");

次のような Outlook/Gmail スタイルの招待状として送信するにはどうすればよいですか? ここに画像の説明を入力

どんな提案でも大歓迎です。

4

1 に答える 1

-1

これが私のoutlookのソリューションです。2年以来、webprojectで使用しています

static $iCalContentType = "text/calendar";
    static $iCalContentDisposition = "inline; filename=calendar.vcs";
    static $iCalTmpl = "
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:MyApp
VERSION:2.0
BEGIN:VEVENT
STATUS:CONFIRMED
ORGANIZER;CN=\"AppNameMailer\":mailto:automail@mydomain.com
SUMMARY: __summary__
DESCRIPTION: \"__description__\"
COMMENT: none
DTSTART:__start__
DTEND:__end__
UID: __id__-AppName
SEQUENCE:__seq__
DTSTAMP:__now__
CLASS:PUBLIC
PRIORITY:5
TRANSP:OPAQUE
LOCATION:
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT25M
END:VALARM
END:VEVENT
END:VCALENDAR
";

私にとってはうまくいきます!__*__マーカーを置き換えるだけです( がないことに注意して"ください)。

ああ、私が覚えている限り、正しい時間エンコーディングは非常に重要です-iso8601(で終わるZ)でなければなりません

それが役に立てば幸い...

于 2013-10-23T14:58:41.980 に答える