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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With