首页  >  文章  >  后端开发  >  PHP mail() 错误:为什么我收到“多个或格式错误的换行符”?

PHP mail() 错误:为什么我收到“多个或格式错误的换行符”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-17 20:17:02495浏览

PHP mail() Error: Why Am I Getting

PHP Mail() 错误:导航“多个或格式错误的换行符”问题

用户报告遇到了神秘的“多个或格式错误的换行符”使用 PHP mail() 函数时,发现“additional_header”错误。有趣的是,尽管没有任何明显的脚本修改,但还是出现了这个错误。

调查带来了一些令人震惊的启示。该错误似乎是特定于服务器的,1and1 是罪魁祸首。虽然主机否认责任让人对他们的服务器配置产生怀疑,但人们仍怀疑可能是未公开的更改造成了错误。

在详尽的互联网搜索得到有限的结果后,解决方案已经出现。罪魁祸首在于最近 PHP 从 5.5.25-1 升级到 5.5.26。此升级解决了 mail() 函数中的一个安全漏洞,导致严格禁止additional_headers参数中出现多个换行符。

解决方案:

1 。标头清洁:

  • 检查标头中是否有多个换行符(rr、r、rnrn、nn、n)。
  • 消除任何多余的换行符以确保标头完整性。

2。标头分配:

  • 指定 extra_headers 专门用于传输标头信息。
  • 避免将 extra_headers 用于消息内容。

遵守这些指南中,用户可以解决“多个或格式错误的换行符”错误并恢复 mail() 的无缝功能 功能。安全补丁 (https://bugs.php.net/bug.php?id=68776) 和相应的 C 代码差异(http://git.php.net/?p=php-src.git;a=blobdiff;f=ext/standard/mail.c;h=448013a472a3466245e64b1cb37a9d1b0f7c007e;hp=1ebc8fec b7ef4c266a341cdc701f0686d6482242;hb=9d168b863e007c4e15ebe4d2eecabdf8b0582e30;hpb=eee8b6c33fc968ef8c496db8fb54e8c9d9d5a8f9)提供有关此问题的技术细微差别的进一步见解。

以上是PHP mail() 错误:为什么我收到“多个或格式错误的换行符”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn