首頁  >  文章  >  後端開發  >  為什麼 PHP 的 `mail()` 函數會拋出「Additional_header 中發現多個或格式錯誤的換行符號」?

為什麼 PHP 的 `mail()` 函數會拋出「Additional_header 中發現多個或格式錯誤的換行符號」?

Linda Hamilton
Linda Hamilton原創
2024-11-21 06:30:08775瀏覽

Why is PHP's `mail()` Function Throwing

「PHP mail() 錯誤:Additional_header 中發現多個或格式錯誤的換行符」解釋

最近,許多PHP 開發者都遇到了令人困惑的問題發送電子郵件時出現“Additional_header 中發現多個或格式錯誤的換行符”錯誤。儘管沒有修改腳本,這個問題還是突然出現在許多人身上。此錯誤背後的罪魁禍首在於最近對 PHP 版本進行的更新。

以前,PHP 允許在additional_headers 中加入額外的換行符。然而,為了緩解安全漏洞,PHP 收緊了其限制。 extra_headers 參數中的任何換行符號現在都被視為「多個或格式錯誤」。這意味著標頭必須完全清理,排除任何多餘的換行符。

此外,訊息正文應放置在 message 參數中,而不是 extra_headers 參數中。任何嘗試在additional_headers中包含電子郵件訊息也會觸發此錯誤。

解決方案:

要解決此問題,請按照以下步驟操作:

  • 刪除不必要的換行符:從extra_headers 參數。
  • 將標頭與訊息分開: 將訊息參數專門用於電子郵件正文,包括多部分或附件。標頭應限制在additional_headers參數內。

透過實作這些更改,您可以避免「Error with PHP mail(): Multiple or Malformed Newlines Found in Another_header」並使用 PHP 的 mail 成功傳送電子郵件() 函數。

詳細資訊請參閱 PHP 安全 Bug 報告: https://bugs.php.net/bug.php?id=68776

以上是為什麼 PHP 的 `mail()` 函數會拋出「Additional_header 中發現多個或格式錯誤的換行符號」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn