PHP 邮件错误:处理附加标头中格式错误的换行符
一个神秘的错误,“在additional_header 中发现多个或格式错误的换行符”最近困扰 PHP mail() 用户。尽管没有修改脚本,但很多用户都遇到了这个令人困惑的问题。
根本原因
经过排查,发现错误源于最近的 PHP安全更新,解决了 mail() 函数中的漏洞。在此修复之前,额外的换行符是允许的。但是,补丁到位后,不再允许使用这些换行符。
解决方案
要纠正该问题,请实施以下措施:
-
删除多余的换行符:仔细检查标题并消除任何多个换行符在additional_headers参数中。具体来说,请避免使用以下模式:rr、r、rnrn、nn 和 n。
-
隔离标头: 专门针对标头使用 extra_headers 参数。请勿在此部分中包含电子邮件,包括附件或多部分内容。它属于消息参数。
通过遵守这些准则,您可以清理标头并防止出现“additional_header 中发现多个或格式错误的换行符”错误。
参考文献
有关更多信息和技术细节,请参阅以下内容资源:
- [PHP 安全错误报告](https://bugs.php.net/bug.php?id=68776)
- [代码差异](http://git.php.net/?p=php-src.git;a=blobdiff;f=ext/standard/mail.c;h=448013a472a3466245e64b1cb37a9d1b0f7c007e;hp=1ebc8fec b7ef4c266a341cdc701f0686d6482242;hb=9d168b863e007c4e15ebe4d2eeca bdf8b0582e30;hpb=eee8b6c33fc968ef8c496db8fb54e8c9d9d5a8f9)
以上是如何修复 PHP 邮件错误:\'在additional_header 中发现多个或格式错误的换行符\”?的详细内容。更多信息请关注PHP中文网其他相关文章!