ホームページ  >  記事  >  バックエンド開発  >  PHP の mail() 関数を使用して電子メールを送信するときに、エンベロープの「MAIL FROM」アドレスを変更するにはどうすればよいですか?

PHP の mail() 関数を使用して電子メールを送信するときに、エンベロープの「MAIL FROM」アドレスを変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-30 06:04:28837ブラウズ

 How to Modify the Envelope

PHP メールのエンベロープ送信元アドレスの変更

PHP の mail() 関数を利用して電子メールを送信する場合、エンベロープを変更することが望ましい場合があります。 「MAIL FROM」アドレスをデフォルトの Apache_user@localhostname 以外に設定します。このアドレスは、ドメインが存在しないため、一部のリモート メール サーバーによって拒否される可能性があります。

PHP Mail() 関数の引数

mail() 関数は、5 つのオプションの引数を受け入れます。最後の部分は、sendmail にオプションを直接渡すために使用できます。エンベロープ アドレスを変更するには、この 5 番目の引数を次のように設定します。

<code class="php">mail('[email protected]', 'subject!', 'body!', 'From: [email protected]', '-f [email protected]');</code>

この例では、エンベロープの "MAIL FROM" アドレスは、"From" であっても、"realname@realhost" に設定されます。メッセージ本文の:" ヘッダーには引き続き "[email protected]" が表示されます。

カスタム電子メール アドレスの作成

より PHP 中心のアプローチが必要な場合は、次のオプションを検討してください:

  • PEAR::Mail モジュールの使用: この PHP 拡張機能は、電子メール処理のためのより包括的な API を提供し、さまざまな電子メール ヘッダーの設定やエンベロープ情報の変更を可能にします。
  • カスタム メール ラッパーの作成: PHP の mail() 関数をラップし、上記の 5 番目のオプションの引数を使用して目的のエンベロープ アドレスを設定する関数または PHP スクリプトを作成できます。

その他の考慮事項

エンベロープ アドレスを設定するときは、それが有効であり、適切に構成されたドメインに属していることを確認してください。一部のスパム対策フィルターは、無効または検証できないエンベロープ アドレスを含む電子メールを拒否する場合があります。さらに、共有ホスティングを使用している場合は、ホスティング プロバイダーに問い合わせて、エンベロープ アドレスを変更するために必要な権限があることを確認する必要がある場合があります。

以上がPHP の mail() 関数を使用して電子メールを送信するときに、エンベロープの「MAIL FROM」アドレスを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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