ホームページ >バックエンド開発 >PHPチュートリアル >PHP mail() エラー: 「複数の改行または不正な形式の改行」が表示されるのはなぜですか?

PHP mail() エラー: 「複数の改行または不正な形式の改行」が表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 20:17:02563ブラウズ

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.ヘッダー割り当て:

  • ヘッダー情報の送信専用にAdditional_headersを指定します。
  • メッセージのコンテンツにAdditional_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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。