ホームページ  >  記事  >  バックエンド開発  >  PHP の「mail()」関数が「Additional_header に複数の改行または不正な改行が見つかりました」をスローするのはなぜですか?

PHP の「mail()」関数が「Additional_header に複数の改行または不正な改行が見つかりました」をスローするのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-21 06:30:08779ブラウズ

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

「PHP mail() のエラー: Additional_header に複数の改行または不正な改行が見つかりました」の説明

最近、多くの PHP 開発者が困惑する問題に遭遇しています。電子メールの送信時に「Additional_header で複数の改行または不正な改行が見つかりました」というエラーが発生する。スクリプトを変更していないにもかかわらず、この問題は多くの人に突然発生します。このエラーの原因は、PHP バージョンに加えられた最近の更新にあります。

以前、PHP は、Additional_headers 内の追加の改行を許容していました。ただし、セキュリティの脆弱性を軽減するために、PHP は制限を強化しました。 added_headers 引数内の改行は「複数または不正な形式」とみなされます。これは、ヘッダーは、冗長な改行を除いて完全にサニタイズする必要があることを意味します。

さらに、メッセージ本文は、Additional_headers 引数ではなく、メッセージ引数に配置する必要があります。電子メール メッセージを追加ヘッダー内に含めようとすると、このエラーが発生します。

解決策:

この問題を解決するには、次の手順に従います:

  • 不要な改行を削除します: 複数の改行または不正な形式の改行をすべて削除します。
  • メッセージからヘッダーを分離します: マルチパートまたは添付ファイルを含む電子メール本文のみにメッセージ引数を使用します。ヘッダーは、Additional_headers 引数に限定する必要があります。

これらの変更を実装すると、「PHP mail() のエラー: Additional_header で複数の改行または不正な改行が見つかりました」を回避し、PHP のメールを使用して電子メールを正常に送信できます。 () 関数。

詳細については、PHP セキュリティ バグ レポートを参照してください。 https://bugs.php.net/bug.php?id=68776

以上がPHP の「mail()」関数が「Additional_header に複数の改行または不正な改行が見つかりました」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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