如何通过Mandrill发送text/calendar类型邮件?PHPMailer下Outlook RSVP问题
解决Mandrill忽略text/calendar内容类型的办法
把ICS作为附件发送,而非嵌入邮件体
用PHPMailer的addAttachment方法直接添加.ics文件,指定正确的MIME类型,Mandrill不会过滤附件,Outlook能识别并显示RSVP按钮:$mail->addAttachment('/path/to/invite.ics', 'invitation.ics', PHPMailer::ENCODING_BASE64, 'text/calendar');用多部分内嵌+附件的复合结构发送
先添加HTML或文本正文,再用addStringAttachment添加ICS内容并设置inline属性,既让客户端尝试内嵌解析,又保留附件备份:// 设置HTML正文 $mail->Body = '<p>活动邀请详情如下,请确认RSVP</p>'; // 传入ICS内容字符串,设置为inline类型 $mail->addStringAttachment($ics_content, 'invite.ics', PHPMailer::ENCODING_BASE64, 'text/calendar', 'inline');临时切换SMTP服务绕过Mandrill过滤
如果业务允许,暂时把PHPMailer的SMTP配置换成其他支持text/calendar的服务(比如自有域名邮箱的SMTP),直接发送就能避免Mandrill的内容检查。
内容的提问来源于stack exchange,提问作者prasanth
相关产品推荐
相关产品推荐

