You need to enable JavaScript to run this app. 使用PHP发送带附件的SES邮件出现Expected '/'、got ;错误如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP发送带附件的SES邮件出现Expected '/'、got ;错误如何解决?

报错原因

  • 问题出在PHPMailer添加附件的参数配置上。addStringAttachment方法的第四个参数为附件的MIME类型,标准MIME格式要求为类型/子类型的结构,你此处仅传入了pdf,不符合标准格式要求。
  • AWS SES解析原始邮件的附件头时,期望读取到带/分隔符的标准MIME类型,实际读取到的是不完整的pdf字段,因此抛出参数无效的错误。无附件时不会触发MIME类型校验,所以可以正常发送。

修复方案

修改addStringAttachment方法的第四个参数,传入完整的PDF格式MIME类型application/pdf即可,也可以省略该参数,PHPMailer会自动根据附件文件名的后缀识别匹配正确的MIME类型。

修改后的代码片段:

$mail->addStringAttachment(
    'My DOMPDF content',
    'attachment.pdf',
    PHPMailer::ENCODING_BASE64,
    'application/pdf'
);

省略第四个参数的写法也可以正常运行:

$mail->addStringAttachment(
    'My DOMPDF content',
    'attachment.pdf',
    PHPMailer::ENCODING_BASE64
);

内容的提问来源于stack exchange,提问作者danialk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 02:24:04