2

数日前に Php Mailer をアップグレードしたところ、一部のメール プロバイダーでメッセージがスパムとしてマークされました。これは、マークされたメッセージのヘッダーに表示されるものです。

X-SpamTest-Info: {TO: header missing}

これは私のphpファイルからのものです。

$mail->From       = $sender;
$mail->FromName   = $sender_name;
$mail->Subject    = $subject;
$mail->Body       = $body;
$mail->AddAddress($recipient,$recipient_name);
$mail->AddReplyTo($replyto,"No-Reply");

「to」ヘッダーを追加する方法がわからず、「to」が欠落している可能性があることを理解できませんが、電子メールは正しい「to」アドレスに届きます...

4

3 に答える 3

1

「To:」ヘッダーなしでメールを送信するのは簡単です。これは、実際には 2 つのことが行われているためです。「To:」ヘッダーは、実際には人間が見るためだけに存在します。実際の配信は、「エンベロープ」と呼ばれるものによって制御されます。通常のメーラーでメッセージを送信すると、SMTP 変換が開始され、"To" ヘッダー、"CC" ヘッダー、および "BCC" にリストされているアドレスが取得され、BCC ヘッダーが取り除かれます。 SMTP 受信者は "RCPT TO: address1, address2, ..." であり、SMTP 受信者はヘッダーを見なくても送信先を認識しています。To ヘッダーが欠落しているメールはスパムを示すことが多いため、ヘッダーのみを調べてスパム チェックを行います。

メール転送エージェントはアクセスできるが、エンド ユーザーとそのメール ユーザー エージェントはアクセスできないようなエンベロープがなければ、BCC を使用することはできません。

PHP Mailer の構文がわかりませんが、「$mail->To」設定に対応していますか?

于 2010-04-05T16:31:52.907 に答える
1

以前の回答からのいくつかの箇条書き:

  • 最も重要なこと:送信者アドレス ("差出人") は、メールの送信元のサーバーで実行されているドメインに属していますか? そうでない場合は、そうしてください。のような送信者アドレスは使用しないでくださいxxx@gmail.comreply-to別のアドレスに到着するために返信が必要な場合は、ユーザー。

  • サーバーがブラックリストに登録されていますか (例: spamhaus.org で IP を確認してください)? これは、隣人の振る舞いが悪いときに共有ホスティングを使用している場合に発生する可能性があります。

  • メールは迷惑メールフィルターでフィルタリングされていますか? スパム フォルダがあるフリーメーラーでアカウントを開き、見つけてください。また、スパム フィルタリングをまったく行わないアドレスにメールを送信してみてください。

  • 送信者アドレスを追加するには、mail() の 5 番目のパラメータ「-f」が必要でしょうか? (PHP マニュアルの mail() コマンドを参照してください)

  • ログファイルにアクセスできる場合は、もちろんそれらを確認してください。

  • 「差出人」アドレスを確認して、バウンス メール (「差出人に返送」) の可能性を確認していますか? 別の「エラー送信先」アドレスを設定することもできます。
于 2010-04-05T16:34:46.697 に答える
1

「to」ヘッダーを追加する方法がわからず、「to」が欠落している可能性があることを理解できませんが、電子メールは正しい「to」アドレスに届きます...

この行はそれを処理します

$mail->AddAddress($recipient,$recipient_name);

実際には、電子メールの TO ヘッダーが作成されます。

于 2011-06-30T08:54:02.893 に答える