在codeigniter中,使用phpMailer,我正在尝试使用EasyPeasyICS来帮助构建带有ics文件的电子邮件,这是我代码的一部分:
$invite = new EasyPeasyICS();
$invite->addEvent(strtotime($appointment_data['start_datetime']),strtotime($appointment_data['end_datetime']),
$service_data['name'],$message." ".$appointment_link,$appointment_link);
$mail = new PHPMailer();
$mail->From = $company_settings['company_email'];
$mail->FromName = $company_settings['company_name'];
$mail->AddAddress($receiver_address); // "Name" argument crushes the phpmailer class.
$mail->IsHTML(true);
$mail->CharSet = 'UTF-8';
$mail->Subject = $title;
$mail->Body = $email_html;
$mail->Ical = $invite->render(false);
if (!$mail->Send()) {
throw new Exception('Email could not been sent. Mailer Error (Line '
. __LINE__ . '): ' . $mail->ErrorInfo);
}
return TRUE;
}
所以,我得到的是我的HTML电子邮件,没有ICS文件。如果我修改$ mail-> Ical = $ invite-> render(true),那么ics文件会下载给我,我看到ICS文件包含在我的HTML中,因为它应该是,它看起来很棒。为什么不发送电子邮件?
答案 0 :(得分:0)
即使使用最新版本(5.2.22),如果要解析Ical,也必须设置AltBody。因为要加载Ical需要替代(alt)消息类型。
但是如果您指定Ical,您的电子邮件将成为一个事件,并将被电子邮件客户端视为该事件。