Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.ics invitation calendar not working in outlook.com issue

Hi im using cakephp email to send an email with .ics calendar attached to it the problem is that the confirmation button si shown in yahoo and gmail prefectly but not in outlook.com. here's an example of an .ics file:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//T//T//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:20150830T184133-19847-domain.com
DTSTAMP:20150830T184133
DTSTART:20150812T000000Z
DTEND:20150818T000000Z
ORGANIZER;CN=myteam:MAILTO:[email protected]
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;[email protected]:MAILTO:[email protected]
LOCATION:new york
SUMMARY:Madrid
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

here's my php code that's creating the appointement .ics file:

                $vcal = "BEGIN:VCALENDAR\r\n";
                $vcal .= "VERSION:2.0\r\n";
                $vcal .= "PRODID:-//T//T//EN\r\n";
                $vcal .= "METHOD:REQUEST\r\n";
                $vcal .= "BEGIN:VEVENT\r\n";


                $vcal .= "UID:".date('Ymd').'T'.date('His')."-".rand()."-domain.com\r\n";
                $vcal .= "DTSTAMP:".date('Ymd').'T'.date('His')."\r\n";
                $vcal .= "DTSTART:$visitedate\r\n";
                $vcal .= "DTEND:$visitedate\r\n";             
                $vcal       .=  "ORGANIZER;CN=myteam:MAILTO:[email protected]\r\n";//j'ai ajouté cette ligne
                $vcal       .= "ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=$mail[$iduser]:MAILTO:$mail[$iduser]\r\n";
                //$vcal .= "DTEND:$end\r\n";
                if ($loc != "") $vcal .= "LOCATION:$loc\r\n";
                $vcal .= "SUMMARY:$objet\r\n";
                $vcal .= "BEGIN:VALARM\r\n";
                $vcal .= "TRIGGER:-PT15M\r\n";
                $vcal .= "ACTION:DISPLAY\r\n";
                $vcal .= "DESCRIPTION:Reminder\r\n";
                $vcal .= "END:VALARM\r\n";
                $vcal .= "END:VEVENT\r\n";
                $vcal .= "END:VCALENDAR\r\n";


                $headers = "\r\nMIME-version: 1.0\r\nContent-Type: text/calendar; method=REQUEST; charset=\"iso-8859-1\"";
                $headers .= "\r\nContent-Disposition: attachment; filename=\"appointment.ics\"";
                $headers .= "\r\nContent-Transfer-Encoding: 7bit\r\nX-Mailer: Microsoft Office Outlook 12.0";


                $Email = new CakeEmail('smtp');
                $Email->to($mail);
                $Email->subject($objet);
                $Email->replyTo('[email protected]');
                $Email->from ('[email protected]');
                $Email->setHeaders(array($headers));

thanks in advance

like image 259
user1655410 Avatar asked Sep 03 '15 12:09

user1655410


1 Answers

Your ics file looks fine so the issue is most likely related to your email MIME structure. Have a look at Multipart email with text and calendar: Outlook doesn't recognize ics

like image 142
Arnaud Quillaud Avatar answered Oct 18 '22 20:10

Arnaud Quillaud