$headers .= "Content-Type: multipart/alternative; boundary=\"{$mime_boundary}\"\n"; $headers .= "Content-class: urn:content-classes:calendarmessage\n"; //Create Email Body (HTML) $message = "--{$mime_boundary}\r\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 ' . $to_name . ',</p>'; $message .= '<p>' . $description . '</p>'; $message .= "</body>\n"; $message .= "</html>\n"; $message .= "--{$mime_boundary}\r\n"; $ical = 'BEGIN:VCALENDAR' . "\r\n" . 'PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN' . "\r\n" . 'VERSION:2.0' . "\r\n" . 'METHOD:REQUEST' . "\r\n" . 'BEGIN:VTIMEZONE' . "\r\n" . 'TZID:Eastern Time' . "\r\n" . 'BEGIN:STANDARD' . "\r\n" . 'DTSTART:20091101T020000' . "\r\n" . 'RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11' . "\r\n" . 'TZOFFSETFROM:-0400' . "\r\n" . 'TZOFFSETTO:-0500' . "\r\n" . 'TZNAME:EST' . "\r\n" . 'END:STANDARD' . "\r\n" . 'BEGIN:DAYLIGHT' . "\r\n" . 'DTSTART:20090301T020000' . "\r\n" . 'RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3' . "\r\n" . 'TZOFFSETFROM:-0500' . "\r\n" . 'TZOFFSETTO:-0400' . "\r\n" . 'TZNAME:EDST' . "\r\n" . 'END:DAYLIGHT' . "\r\n" . 'END:VTIMEZONE' . "\r\n" . 'BEGIN:VEVENT' . "\r\n" . 'ORGANIZER;CN="' . $from_name . '":MAILTO:' . $from_address . "\r\n" . 'ATTENDEE;CN="' . $to_name . '";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:' . $to_address . "\r\n" . 'LAST-MODIFIED:' . date("Ymd\\TGis") . "\r\n" . 'UID:' . date("Ymd\\TGis", strtotime($startTime)) . rand() . "@" . $domain . "\r\n" . 'DTSTAMP:' . date("Ymd\\TGis") . "\r\n" . 'DTSTART;TZID="Eastern Time":' . date("Ymd\\THis", strtotime($startTime)) . "\r\n" . 'DTEND;TZID="Eastern Time":' . date("Ymd\\THis", strtotime($endTime)) . "\r\n" . 'TRANSP:OPAQUE' . "\r\n" . 'SEQUENCE:1' . "\r\n" . 'SUMMARY:' . $subject . "\r\n" . 'LOCATION:' . $location . "\r\n" . 'CLASS:PUBLIC' . "\r\n" . 'PRIORITY:5' . "\r\n" . 'BEGIN:VALARM' . "\r\n" . 'TRIGGER:-PT15M' . "\r\n" . 'ACTION:DISPLAY' . "\r\n" . 'DESCRIPTION:Reminder' . "\r\n" . 'END:VALARM' . "\r\n" . 'END:VEVENT' . "\r\n" . 'END:VCALENDAR' . "\r\n"; $message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST' . "\n"; $message .= "Content-Transfer-Encoding: 8bit\n\n"; $message .= $ical; $mailsent = mail($to_address, $subject, $message, $headers); return $mailsent ? true : false; } $from_name = "Mehrdad1 Mirsamie"; $from_address = "*****@*****.**"; $to_name = "Mehrdad Mirsamie"; $to_address = "*****@*****.**"; $startTime = "09/02/2016 18:00:00"; $endTime = "09/02/2016 19:00:00"; $subject = "Appointment Test"; $description = "My Awesome Description"; $location = "Joe's House"; $ret = sendIcalEvent($from_name, $from_address, $to_name, $to_address, $startTime, $endTime, $subject, $description, $location); var_dump($ret);
'auth' => true, 'username' => '*****@*****.**', //your gmail account 'password' => 'Delta#123' // your password )); */ $smtp = mail::factory('smtp', array('host' => MAIL_TLS . '://' . MAIL_SMTP, 'port' => MAIL_PORT, 'auth' => true, 'username' => MAIL_USERNAME, 'password' => MAIL_PASSWORD)); $mailsent = $smtp->send($to_address, $headers, $message); if (!$mailsent) { $resultMsg = "Mailer Error: " . $mailsent->ErrorInfo; } else { //$resultMsg = $mailsent->getMessage(); $resultMsg = "Email sent...!"; } //return ($mailsent) ? (true) : (false); } catch (phpmailerException $e) { $resultMsg = $e->errorMessage(); } return $resultMsg; } $domain = 'deltaintech.com'; $from_name = "Suresh"; $from_address = "*****@*****.**"; $to_name = "Suresh"; $to_address = "*****@*****.**"; $startTime = "01/13/2016 18:00:00"; $endTime = "01/13/2016 19:00:00"; $subject = "My Test Subject"; $description = "My Awesome Description"; $location = "Joe's House"; $calUID = date("Ymd\\TGis", strtotime($startTime)) . rand() . "@" . $domain; $result = sendIcalEvent($from_name, $from_address, $to_name, $to_address, $startTime, $endTime, $subject, $description, $location, 'REQUEST', $calUID); echo $result;