0

最新のリポジトリ(apt-get)ポストフィックスを備えたubuntu 12.10ボックスがあります。sendmailコマンドラインからメールを送信する場合:

sendmail -r from@example.com -f from@example.com -t to@example.com

電子メールはにのみ送信されますto@example.com(これは良いことです)。

ただし、PHP とこの関数を使用すると、次のようになります。

function mymail($to, $subject, $message, $frommail = "from@example.com", $fromname = "From Me") {
  $subject = "=?utf-8?B?" . base64_encode($subject) . "?=";
  $from = $fromname . " <" . $frommail . ">";
  $headers = "From: " . $from . " \r\n";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=UTF-8\r\n";
  $headers .= "Content-Transfer-Encoding: base64\r\n\r\n";
  $message = base64_encode($message);
  $param = "-r " . $frommail . " \r\n";
  // Optionally tried also 
  // $param = "-r " . $frommail . " -f " . $frommail . " \r\n";
  mail($to, $subject, $message, $headers, $param);
}

次にto@example.com AND MAILER-DAEMON (これを root に設定aliases) がメールを受信します。

mailutilsmailコマンドで読み取った MAILER-DAEMON 電子メールは次のとおりです。

Return-Path: <from@example.com>
Delivered-To: MAILER-DAEMON@localhost
Received: by localhost (Postfix, from userid 33)
    id 5663254EB; Wed, 15 May 2013 16:57:52 +0700 (ICT)
To: to@example
Subject: Test
X-PHP-Originating-Script: 1000:mail_func.php
From: FromMe <from@example.com> 
MIME-Version: 1.0
Content-type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
Message-Id: <20130515095752.5663254EB@localhost>
Date: Wed, 15 May 2013 16:57:52 +0700 (ICT)

その後に base64 メールが続きます。PHP で電子メールを送信するときに MAILER-DAEMON がコピーを受信しないようにするにはどうすればよいですか?

4

1 に答える 1

0

この質問を削除するか、今後の参考にさせてください。理由がわかりました。追加のパラメーターでは、使用する必要があります

$param = "-f" . $frommail;

."\r\n"間違っているのではなく:

$param = "-r " . $frommail . " \r\n";
于 2013-05-15T11:11:33.793 に答える