2015-10-20 92 views
0

我通過電子郵件發送日曆邀請,但我希望它自動被接受。如何使電子郵件日曆邀請自動接受(PHP)?

有什麼我可以改變我的代碼?我的代碼如下所示:

功能sendIcalEmail($名字,姓氏$,$電子郵件,$ meeting_date,$ MEETING_NAME,$ meeting_duration){

$from_name = 「My Name」; 
$from_address = 「[email protected]」; 
$subject = 「Meeting Booking」; //Doubles as email subject and meeting subject in calendar 
$meeting_description = 「Here is a brief description of my meeting\n\n」; 
$meeting_location = 「My Office」; //Where will your meeting take place 

//Convert MYSQL datetime and construct iCal start, end and issue dates 
$meetingstamp = strtotime($meeting_date . 」 UTC」); 
$dtstart= gmdate(」Ymd\THis\Z」,$meetingstamp); 
$dtend= gmdate(」Ymd\THis\Z」,$meetingstamp+$meeting_duration); 
$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: 「.$from_name.」 <」.$from_address.」>\n」; 
$headers .= 「Reply-To: 「.$from_name.」 <」.$from_address.」>\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 .= 「–$mime_boundary\n」; 
$message .= 「Content-Type: text/html; charset=UTF-8\n」; 
$message .= 「Content-Transfer-Encoding: 8bit\n\n」; 

$message .= 「<html>\n」; 
$message .= 「<body>\n」; 
$message .= ‘<p>Dear ‘.$firstname.’ ‘.$lastname.’,</p>’; 
$message .= ‘<p>Here is my HTML Email/Used for Meeting Description</p>’; 
$message .= 「</body>\n」; 
$message .= 「</html>\n」; 
$message .= 「–$mime_boundary\n」; 

//Create ICAL Content (Google rfc 2445 for details and examples of usage, beware of adding tabs) 
$ical = ‘BEGIN:VCALENDAR 

PRODID: - //微軟公司的Outlook // 11.0 MIMEDIR // EN 版本:2.0 方法:發佈 BEGIN:VEVENT 主辦單位:MAILTO: '$ FROM_ADDRESS' DTSTART: '$爲dtstart。' DTEND: '$ DTEND。' 位置:」。 $ meeting_location。' TRANSP:OPAQUE SEQUENCE:0 UID: '$ cal_uid' DTSTAMP: 說明 '$ todaystamp。': 內容 '$ meeting_description。': PRIORITY '$主題。':5 類:public END:VEVENT END :VCALENDAR「;

$message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST;charset=utf-8\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中更改其設置以自動接受(某些)邀請。 順便說一句,謝謝你的片段。正是我需要的。

相關問題