2012-02-20 11 views
0

私は単純なHTMLフォームに取り組んでおり、ユーザーに情報を尋ね、送信時にカレンダーを招待した特定の人にPHPスクリプトメールを送信します。htmlテーブルを使ってOutlookメッセージを送信する

このカレンダーの本文には、HTML本体が含まれていて、HTML表が含まれています。

以下のコードでは、PHPのメール機能を使用して電子メールを送信でき、予定を生成します。 テーブルが削除されてもHTMLコンテンツを追加することもできます。

私は、カレンダーの招待がRTFのみをサポートしていると読んだことがあります。これは真実かもしれませんが、私はOWAアカウントでテーブルが剥奪されないことに気付きました。

誰かが私のジレンマを軽視できますか?ありがとう!

 
function sendIcalEmail($htmlmsg,$email,$meeting_date,$s_ccemail) {

$from_name = "sender name" 
$from_address = "sender email" 
$subject = "Test Appointment"; //Doubles as email subject and meeting subject in calendar 
$meeting_description = "Description"  


//Convert MYSQL datetime and construct iCal start, end and issue dates 
$meetingstamp = strtotime($meeting_date . " EST");  
$dtstart= gmdate("Ymd\THis\Z",$meetingstamp); 
$dtend= gmdate("Ymd\THis\Z",$meetingstamp+7200); 
$todaystamp = gmdate("Ymd\THis\Z"); 

//Create unique identifier 
$cal_uid = date("Ymd")."T".date("His")."-".rand()."@mydomain.com"; 

//Create Mime Boundry 
$mime_boundary = "----Meeting Booking----".md5(time()); 

//Create Email Headers 
$headers = "From: Sender Name <[email protected]>" . "\n"; 
$headers .= "Cc: ". $s_ccemail . "\n"; 
$headers .= "Reply-To: [email protected]" . "\n"; 

$headers .= "MIME-Version: 1.0\n"; 
$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n"; 
$headers .= "Content-class: urn:content-classes:calendarmessage\n"; 

//Create Email Body (HTML) 
$message = ""; 
$message .= "--$mime_boundary\n"; 
$message .= "Content-Type: text/html; charset=UTF-8\n"; 
$message .= "Content-Transfer-Encoding: 7bit\n\n"; 

$message .= $htmlmsg . "\r\n"; 

$message .= "--{$mime_boundary}\n"; 
 

$ical = " 
BEGIN:VCALENDAR 
PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN 
VERSION:2.0 
METHOD:PUBLISH 
BEGIN:VEVENT 
ORGANIZER:MAILTO:".$from_address." 
DTSTART:".$dtstart." 
DTEND:".$dtend." 
LOCATION: 
TRANSP:OPAQUE 
SEQUENCE:0 
UID:".$cal_uid." 
DTSTAMP:".$todaystamp." 
DESCRIPTION:".$meeting_description." 
SUMMARY:".$subject." 
PRIORITY:5 
CLASS:PUBLIC 
END:VEVENT 
END:VCALENDAR"; 

$message .= "Content-Type: text/calendar;name="meeting.ics";method=REQUEST;charset=utf-8\n"; $message .= "Content-Type: text/calendar;name="meeting.ics";method=REQUEST\n"; $message .= "Content-Transfer-Encoding: 8bit\n\n"; $message .= $ical; //SEND MAIL $mail_sent = @mail($email, $subject, $message, $headers); if($mail_sent) { return true; } else { return false; }}

答えて

0

私は同様の問題に遭遇したが、私にとってはOutlook 2003のだったいくつかのフォーマットを受け入れるだろう、Outlook 2007は他の人を受け入れ、フィギュアの見通し2010を行くだろうもまだ他の人を受け入れました。私はPHPから作業ICALを取得し、それを投稿しましたExchangeCore Forums

うまくいけば、これはあなたを助けるでしょう。

関連する問題