私の専用サーバー(centos5を実行)には約6つのサイトがあり、phpのメール機能を使用して送信されるすべての電子メールは[email protected]によって送信されます。 「受信:ローカルからservername.hostname.comによってnobodyから(Exim 4.69)」。これを変更して適切なドメインを表示する方法はありますか?
PHPマニュアル for mail()
から:
注:メールを送信する場合、メールにはFromヘッダーが含まれている必要があります。これは、additional_headersパラメータで設定するか、php.iniでデフォルトを設定できます。
ほとんどのphp.ini設定と同様に、これはApacheのvhost設定または.htaccessを介してオーバーライドできます。または、スクリプト(オプションでauto_prependを使用)および5.3.0以降 。user.ini ファイルを介して設定できます。 。ただし、From、Reply-To、Return-pathヘッダーを明示的に設定するのではなく、「sendmail」プログラムを呼び出してメッセージを処理するときに受信者を指定する方が簡単です。
Eximがsendmail cliのコマンドラインで標準フラグを使用すると仮定します。
php.ini:
sendmail_path = "/usr/sbin/sendmail [email protected] -t -i"
Httpd.conf内
php_admin_value sendmail_path "/usr/sbin/sendmail [email protected] -t -i"
.htaccess.conf
php_value sendmail_path "/usr/sbin/sendmail [email protected] -t -i"
(sendmailのパスは表示されているものとは異なる場合があります)
C.
たとえば、my php-secure-sendmail などのラッパースクリプトを使用できます。送信されたすべてのメール(仮想ホスト、日付/時刻、受信者)をログに記録し、仮想ホストごとに1時間あたり1日あたりの送信メール数を制限し、エンベロープ送信者などを設定できます...
php mail function の-fオプションを使用する必要があります。