2

PHP Pear Mail_Mime ライブラリを使用して電子メールを送信しています。私のスクリプトでは、メッセージを送信する前に「From:」ヘッダーを設定しました。これはすべて、Mac OS X を実行しているサーバーで正常に動作します (メーラーとして sendmail を使用していると思われますが、100% 確実ではありません)。テスト メールを送信すると、"From:" フィールドに正しい送信者が表示されます。

ただし、Linux サーバーで Exim4 をメーラーとして同じスクリプトを実行すると、メールは送信されますが、スクリプトで指定したものではなく、"From:" ヘッダーがデフォルトとして表示されます。

PHPのメール機能の「追加パラメータ」に「-f[メールアドレスから]」オプションを設定してみましたが、効果がないようです。

from ヘッダーを Exim で適切に動作させる方法を誰か教えてもらえますか?

どんなアドバイスでも大歓迎です。

乾杯、トム

編集: 誰かが興味を持っている場合のコードは次のとおりです。


<?php

  include_once('Mail.php');
  include_once('Mail/mime.php');


  $subject = "mime mail test";
  $from = "wtf@domain.com";
  $to = "wtf@domain.com";
  $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 wtf@domain.com -r wtf@domain.com");

  print_r($result);

?>



4

1 に答える 1

4

コマンドライン経由で送信しています (SMTP に対して)。Exim は、信頼できる送信者のみがこの-fオプションを使用できるようにします。また:

  • SMTP を使用するように変更します (これにより、メールの送信が許可されていれば、任意の送信者を使用できます (通常、IP ベースまたは認証ベースの制御を意味します)。
  • 信頼できるユーザー (root や exim ユーザーなど) から送信する
  • メールを送信するユーザーを exim 構成の信頼できるユーザー リストに追加します。これは次のようになります。

    trusted_users = root:apache:www:exim:60001

于 2010-12-28T13:47:39.333 に答える