PHP Pear Mail_Mimeライブラリを使用してメールを送信しています。私のスクリプトでは、メッセージを送信する前に "From:"ヘッダーを設定しました。これはMac OS Xを実行しているサーバではうまくいきます(私は100%確信していませんが、おそらくsendmailをメーラとして使用しています)。テストメールを送信するとき、「From:」フィールドに正しい送信者が表示されます。EximがPHPからMIMEメールを送信するときに "from"ヘッダを上書きする
メールサーバとしてExim4を使用してLinuxサーバで同じスクリプトを実行すると、電子メールは送信されますが、スクリプトで指定したヘッダの代わりに「From:」ヘッダがデフォルトとして表示されます。
PHPのメール機能の「追加パラメータ」に「-f [電子メールアドレスから]」オプションを設定しようとしましたが、これは効果がないようです。
Eximでヘッダーを正しく使用する方法を教えていただけますか?
アドバイスをいただければ幸いです。
乾杯、 トム
編集:ここに誰もがそれを見に興味がある場合にはコードがあります。
<?php
include_once('Mail.php');
include_once('Mail/mime.php');
$subject = "mime mail test";
$from = "[email protected]";
$to = "[email protected]";
$visitor_email = $from;
$message = new Mail_mime();
$message->setTXTBody("hallo there!");
$body = $message->get();
$extraheaders = array("From"=>$from, "Subject"=>$subject,"Reply-To"=>$visitor_email);
$headers = $message->headers($extraheaders);
$mail = Mail::factory("mail");
$result = $mail->send($to, $headers, $body, "", "-f [email protected] -r [email protected]");
print_r($result);
?>
「Return-path」ヘッダーをreply-toおよび/またはfromと同じものに明示的に設定してみてください。また、 'Mail :: send'はあなたが使用しているPEAR Mailクラスであると仮定して、あなたが提供している最初の3つの引数だけをサポートしています。 – prodigitalson
ああ、ありがとう - 私はPEARメールクラスについてそれを認識しませんでした。 – Tom
これは、http://stackoverflow.com/questions/4663040/from-email-address-changes-after-email-is-sent-gmail-postfix-relay/の複製です。 – dkarp