Я попытался под кодом и смог отправить несколько событий в один встроенный ics в календарь Google. Но если я открою одну и ту же почту в MS Outlook 2010, в календаре Outlook будет отображаться только первая дата .
Ниже мой код.
<?php $ical4 = 'BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20150310T183001Z DTEND:20150310T182959Z DTSTAMP:20150310T183000Z UID:2015-03-10_leave_24@gmail.com ORGANIZER:MAILTO:organizer@gmail.com ATTENDEE:MAILTO:testuser1@gmail.com DESCRIPTION:Test E1 Desc STATUS:CONFIRMED SEQUENCE:0 SUMMARY:Test E1 TRANSP:OPAQUE END:VEVENT BEGIN:VEVENT DTSTART:20150311T183001Z DTEND:20150311T182959Z DTSTAMP:20150310T183000Z UID:2015-03-11_leave_25@gmail.com ORGANIZER:MAILTO:organizer@gmail.com ATTENDEE:MAILTO:testuser1@gmail.com DESCRIPTION:Test E2 Desc STATUS:CONFIRMED SEQUENCE:0 SUMMARY:Test E2 TRANSP:OPAQUE END:VEVENT END:VCALENDAR'; $from_name = "My Name"; $from_address = "myname@mydomain.com"; $subject = "Test Events_1"; //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 = ""; $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 user,</p>'; $message .= '<p>Here is my HTML Email / Used for Meeting Description</p>'; $message .= "</body>\n"; $message .= "</html>\n"; $message .= "--$mime_boundary\n"; $message .= 'Content-Type: text/calendar; name="meeting.ics";method=REQUEST; charset=utf-8\n'; $message .= 'Content-Disposition: inline;\n'; $message .= "Content-Transfer-Encoding: 2048bit\n\n"; $message .= $ical4; //SEND MAIL $mail_sent = @mail( $email, $subject, $message, $headers ); if($mail_sent) { return true; } else { return false; }
Обратите внимание, что если я копирую файл iical в файл .ics и импортирую его в MS Outlook 2010, он успешно обновляется с двумя событиями. Но мне нужно обновить календарь Outlook автоматически, отправив почту с помощью php.
Есть ли способ отправить несколько событий в одном письме в MS Outlook 2010, чтобы он автоматически добавился в календарь Outlook?