Php 如何使用swiftmailer库发送google日历邀请
以下代码完美地将ical邀请发送到我们的内部邮件系统。然而,在gmail中我只看到了Php 如何使用swiftmailer库发送google日历邀请,php,gmail,google-calendar-api,icalendar,swiftmailer,Php,Gmail,Google Calendar Api,Icalendar,Swiftmailer,以下代码完美地将ical邀请发送到我们的内部邮件系统。然而,在gmail中我只看到了meeting.ics文件附件。我没有看到要求我RSVP的块。我错过了什么 require_once 'swiftmailer/lib/swift_required.php'; $messageObject = Swift_Message::newInstance(); $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 's
meeting.ics
文件附件。我没有看到要求我RSVP的块。我错过了什么
require_once 'swiftmailer/lib/swift_required.php';
$messageObject = Swift_Message::newInstance();
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername('me@gmail.com')
->setPassword('passwd');
$messageObject->setContentType("multipart/alternative");
$messageObject->addPart("Email message body goes here", "text/html");
$messageObject->setSubject("Subject line goes here")
->setFrom('support@me.com', 'ME');
$messageObject->setTo(array('me@gmail.com'));
$ics_content = file_get_contents("cal.ics");
$ics_attachment = Swift_Attachment::newInstance()
->setBody(trim($ics_content))
->setEncoder(Swift_Encoding::get7BitEncoding());
$headers = $ics_attachment->getHeaders();
$content_type_header = $headers->get("Content-Type");
$content_type_header->setValue("text/calendar");
$content_type_header->setParameters(array(
'charset' => 'UTF-8',
'method' => 'REQUEST'
));
$headers->remove('Content-Disposition');
$messageObject->attach($ics_attachment);
$mailObject = Swift_Mailer::newInstance($transport);
$mailObject->send($messageObject);
这是'cal.ics'文件:
BEGIN:VCALENDAR
PRODID:-//support@me.com//support@me.com//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20150929T133000Z
DTEND:20150929T190000Z
DTSTAMP:20150911T210204Z
ORGANIZER;CN=support@me.com:MAILTO:ME
UID:NRT Sales Pro
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;CN=support@me.com;X-NUM-GUESTS=0:NRT Sales Pro
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=NRT Sales Pro;X-NUM-GUESTS=0:NRT Sales Pro
CREATED:20150911T210204Z
LAST-MODIFIED:20150911T210204Z
LOCATION:Dix Hills, NY Education Center | 1206 E Jericho Tpke, Huntington NY 11743
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Discover the Difference
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
关于icalendar数据,组织者或与会者属性均无效。它们中的每一个都应该有一个有效的mailto:uri作为值(如果您试图接受来自gmail的邮件,则至少有一个对应于gmail帐户) 然后,您需要非常小心您发送的电子邮件的MIME结构。看