0

現在エラーなしで実行され、追加した成功メッセージが表示される単純なメール連絡フォームを開発しています。

ただし、テストした後、電子メールは、私が持っている Microsoft Outlook アドレスでのみ受信されます。

Gmail、Hotmail、Yahoo はメッセージを受信しません。私が最も目指していたのは Gmail でした。

いずれの場合もスパム/ジャンク フォルダを確認しましたが、兆候はありません。

なぜこれが当てはまるのか、誰かが何か考えを持っているなら、それは素晴らしいことです。少なくとも 1 つのインスタンスで動作するため、コードは投稿しませんでしたが、役立つ場合は「ヘッダー」の形式を次に示します。

 $headers = 'From: '.$email_from."\r\n".
 'Reply-To: '.$email_from."\r\n" .
 'X-Mailer: PHP/' . phpversion();
 @mail($email_to, $email_subject, $email_message, $headers); 
4

3 に答える 3

1

同じコードが1つの受信者に電子メールを送信するように機能するが、別の受信者には機能しない場合、問題は受信者にあります。

これは、受信者の電子メールプロバイダーがあなたの電子メールがスパムのように見えると考えているためだと思います。

Reply-toヘッダーを削除し、フィールドにアドレスを入力することをお勧めFromします。基本的に、メールをスパムのように見せないようにするためにできることは多ければ多いほどよいのです。

それでも問題が解決しない場合は、コードを使用してできるだけ制限されたメッセージを送信してみてください。ヘッダー情報を追加したり、テキストにリンクを追加したりしないでください。問題が解決する場合は、メッセージの受信が停止するまで、ゆっくりとメッセージを追加してください。

于 2012-05-22T14:28:49.320 に答える
0

次に、gmail または yahoo のいずれかのメールを送信したい電子メールを、ハードコーディングした $email_to のフィールドに追加します

または、フォームから動的に電子メールを渡している場合は、それを設定します

$email_to = $_post['email'];

それをヘッダーに追加すると、受信者に送信されます。

于 2012-05-22T11:01:14.393 に答える
0

送信元の IP がブラックリストに登録されている可能性があります (サーバーが共有 IP 上にある場合、その IP を使用している誰かが悪いものを送信しています)。

可能であれば、別の IP アドレスから試してみてください。それが機能する場合は、問題を認識しており、Web ホストに文句を言うことができます。

于 2012-05-22T11:28:07.083 に答える