4

PHP のメール関数/sendmail を使用して日付ヘッダーを操作することは可能ですか (Web サイト サーバーは Linux なので、下で sendmail を使用していると思います)。

(Windows ベースの) 電子メール チェッカーのエラー処理をテストしようとしていて、メッセージに無効な日付ヘッダーを生成する必要がありますが、php メールを使用してメッセージを送信すると、カスタムの日付ヘッダーが含まれていても、メール サーバーによってオーバーライドされ、カスタム ヘッダーが無視されるようです。sendmail がそのヘッダーを改ざんするには、追加のパラメーターが必要かもしれないと推測していますが、そのパラメーターが何であるか、またはこれが可能かどうかを見つけることができないようです。

これが私が送信するものです(個人のドメイン情報は削除されています)

$headers = "From: ..................\r\n";
$headers .= "Message-ID: <" . md5(uniqid(time())) . "@..................>\n";
$headers .= "MIME-Version: 1.0\n";
//$headers .= "Date: ".date("D, d M Y H:i:s") . " UT\n"; //a valid header for comparison
$headers .= "Date: Tuesday\n"; // intentionally bogus email header
$headers .= "Reply-To: ..................\n";
$headers .= "Return-Path: ..................\r\n";
$headers .= "X-Priority: 3\r\nX-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: PHP/".phpversion()."\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "\n";
$success=mail($to, $s_subject, $s_emailmsg, $headers);
4

1 に答える 1

1

を介して実行される電子メール チェッカーを作成したと仮定するとprocmail、より簡単な方法は、電子メール メッセージを自分で作成し、それを標準入力を介してテスト スクリプトに直接送信することです。

他のメール サーバーによる干渉を回避するため、この方法で単体テストを作成する方が簡単です。これに従うときは、最初の行が で始まることを確認してMAIL FROM xx@yy.comください。

于 2012-07-04T16:04:11.093 に答える