0
我正在通過php發送會議邀請。我的代碼確實發送了會議邀請(作爲會議邀請對最終用戶可見),但是我無法設置html說明。PHP Vcalendar:純文本描述可見,而不是HTML文本
我懷疑問題可能是因爲我使用字符串變量傳遞參數到X-ALT-DESC
。在邀請中,我通過DESCRIPTION
標籤設置了純文本,但HTML文本不是。如果邀請被Outlook 2007收到,他應該看到HTML文本正確嗎?
下面是代碼:
$aHeaders = array();
$aHeaders[] = 'MIME-Version: 1.0';
$aHeaders[] = 'Content-Type: text/calendar; method=REQUEST';
$aHeaders[] = 'Content-Class: urn:content-classes:calendarmessage';
$aHeaders[] = 'From: [email protected]';
$aHeaders[] = 'Reply-To: [email protected]';
$sHeaders = implode("\r\n", $aHeaders);
$sBody .= "BEGIN:VCALENDAR\r\n";
$sBody .= "PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN\r\n";
$sBody .= "VERSION:2.0\r\n";
$sBody .= "METHOD:REQUEST\r\n";
$sBody .= "X-MS-OLK-FORCEINSPECTOROPEN:TRUE\r\n";
$sBody .= "BEGIN:VEVENT\r\n";
$sBody .= "ATTENDEE:mailto:" . $sTo . "\r\n";
$sBody .= "ORGANIZER;CN=ABC:mailto:[email protected]\r\n";
$sBody .= "DTSTAMP:'.date('Ymd').'T'.date('His').'Z''\r\n";
$sBody .= "DTSTART:" . $sConfstart . "\r\n";
$sBody .= "DTEND:" . $sConfend . "\r\n";
$sBody .= "LOCATION:Conference Call\r\n";
$sBody .= "TRANSP:OPAQUE\r\n";
$sBody .= "SEQUENCE:0\r\n";
$sBody .= "UID:'. md5(uniqid(mt_rand(), true)) .'\r\n";
$sBody .= "SUMMARY:" . $sSubject . "\r\n";
$sBody .= "PRIORITY:5\r\n";
$sBody .= "CLASS:PUBLIC\r\n";
$sBody .= "DESCRIPTION:this is plain desc"\r\n";
$sBody .= "X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\"><HTML><BODY>html goes here</BODY></HTML>\r\n";
$sBody .= "END:VEVENT\r\n";
$sBody .= "END:VCALENDAR\r\n";
----編輯 這裏是生成的iCalendar字符串
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
ATTENDEE;CN="[email protected], [email protected]";RSVP=TRUE:mail
to:[email protected]\, [email protected]
CLASS:PUBLIC
CREATED:20140222T144724Z
DESCRIPTION:this is plain desc
DTEND:20140223T140000Z
DTSTAMP:20140222T144640Z
DTSTART:20140223T130000Z
LAST-MODIFIED:20140222T144724Z
LOCATION:Conference Call
ORGANIZER;CN="test_org":mailto:[email protected]
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:
TRANSP:OPAQUE
UID:20140222T144640Z
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ve
rsion 08.00.0681.000">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted f
rom text/plain format -->\n\n<P><FONT SIZE=2><\;!DOCTYPE HTML PUBLIC &qu
ot\;-//W3C//DTD HTML 3.2//EN"\;>\;<\;HTML>\;<\;BODY>\;html g
oes here<\;/BODY>\;<\;/HTML>\;</FONT>\n</P>\n\n</BODY>\n</HTML>
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
您可以發佈生成的'iCalendar'字符串而不是代碼? – mb21
我剛纔添加了icalendar字符串...... thx看看:) – user3340744
我沒有Outlook來測試,但DESCRIPTION字段也包含HTML而不是純文本... – mb21