1

メール機能を使用してphpを使用しています:

$headers =  'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: admin@domain.com' . "\r\n";
$headers .= 'Reply-To: Admin <admin@domain.com>' . "\r\n";

// Return Path - 
$return_path = "bounce@domain.com";

$toUser... (all necessary variables)

if(mail($toUser,$subject,$body,$headers, "-f".$return_path)){
    echo "res=sent";
} else {
    echo "res=error";
    }

abXXX@kasbkjasbdka.com、8hgb87@9ndksjc9ne.com などのいくつかのメールをテストしました

(など、すべての無効な、存在しない電子メール アドレス)

なぜ私のbounce@domain.comに行かないのですか????

4

3 に答える 3

1

また、ほとんどのサーバーでヘッダーを使用してReturn-Pathを設定できるはずです。

$headers .= "Return-Path: bounce@domain.com\r\n";
于 2009-06-22T12:36:45.950 に答える
0

の後にスペースを追加する必要があります-f。また、iso-8859-1 の代わりに UTF-8 を使用しないのはなぜですか? これを試して:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: admin@domain.com' . "\r\n";
$headers .= 'Reply-To: Admin <admin@domain.com>' . "\r\n";

// Return Path
$return_path = 'bounce@domain.com';

/*
$toUser... (all necessary variables)
*/

if(mail($toUser, $subject, $body, $headers, '-f ' . $return_path)) {
 echo 'res=sent';
} else {
 echo 'res=error';
}
于 2009-06-22T09:36:41.837 に答える
0

sendmail の設定が原因である可能性があります。-Fパラメーターはコマンド ライン属性としてパイプされるため、sendmail はそれをサポートするように構成する必要があります。

php.netから:

additional___parameters パラメータを使用すると、sendmail_path 構成設定で定義されているように、メールの送信時に使用するように構成されたプログラムにコマンド ライン オプションとして追加のフラグを渡すことができます。たとえば、-f sendmail オプションを指定して sendmail を使用する場合、これを使用してエンベロープ送信者アドレスを設定できます。

編集: Matthias Bynens の答えが正しいことがわかりました。このエントリを参照してください。

于 2009-06-22T09:39:04.327 に答える