0

Web サイトのお問い合わせフォームにシンプルなメール機能を使用しています。

$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$text = stripslashes($_POST['message']);

$message = '<html><body>'.nl2br($text)."</body></html>";
$mail = mail("info@domain.com", "Contact Form", $message,
     "From: ".$name." <".$email.">\r\n"
    ."Reply-To: ".$email."\r\n"
    ."X-Mailer: PHP/" . phpversion()
    ."MIME-Version: 1.0\r\n"
    ."Content-Type: text/html; charset=utf-8");

メールは送信されますが、常にスパムとして検出されるため、良くありません。おそらく、「FROM」は訪問者がフォームに入力した電子メールであるためです。

これを解決するには?

4

2 に答える 2

1

Fromユーザーの電子メール アドレスをヘッダーとして使用しないでください。スパム フィルターで一貫性のない結果が得られ、あなたの場合、ヘッダー インジェクションの脆弱性が導入されます。代わりに、有効な静的メールボックス (実際に存在するもの - できれば送信元と同じドメイン上) を使用してください。

\r\nヘッダーの一部、つまりX-Mailerとの接尾辞がありませんContent-typeでした。

サーバーの IP アドレスを確認することをお勧めします。ブラックリストに登録されているか、スパムとしてリストされている可能性があります。これにより、一部のスパム フィルターが自動的に拒否するか、ジャンク フォルダーにすべてをダンプします。自分のパッケージからスパムメールを送信したことがなくても、サーバー上の他のホスティングアカウントが送信した可能性があります。

于 2013-01-16T11:11:39.943 に答える
0

StackOverflow の投稿へのリンクを確認してください: https://stackoverflow.com/a/2573286/1983368 スパムはほとんど受信側で検出されます。

于 2013-01-16T11:06:46.523 に答える