You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP的mail()函数仅发送纯文本内容是否需要配置指定邮件头?

结论

你给出的两个头部不是发送纯文本邮件的必要项,具体说明如下:

  • PHP原生mail()函数默认就是发送纯文本格式邮件,完全不传入自定义headers参数也可以正常投递成功。默认会使用PHP配置文件中default_charset指定的编码(默认通常为UTF-8)。
  • 你示例中的Content-type:text/html;charset=UTF-8头不要在纯文本邮件场景使用,否则会导致邮件客户端将你的纯文本内容识别为HTML代码解析,若内容包含<>等特殊字符会出现显示异常。
  • MIME-Version: 1.0头仅在邮件包含多格式内容、附件等场景才是必须的,纯文本场景可以省略,加上也不会产生负面影响,对老旧邮件客户端的兼容性会更好。

如果需要避免纯文本内容出现乱码,建议显式指定纯文本的编码头,示例写法如下:

$to = '接收邮箱@example.com';
$subject = '纯文本邮件测试';
$message = '这是纯文本的邮件内容,不包含任何HTML代码';

// 仅添加纯文本编码头即可,也可以省略这行直接调用mail()
$headers = "Content-Type: text/plain; charset=UTF-8" . "\r\n";

mail($to, $subject, $message, $headers);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:15:03