2012-08-30 23 views
5

私はこの問題が数回ここで解決されていることを知っています。私は適切なヘッダーを設定するための指示に従ってみましたが、メールの問題がGmailのスパムフィルターに入りました。GMAILスパムに送信するPHP mail()フォーム

誰でも私が試したことを見てください、私は本当にそれを感謝します。以下のコードは、ここで説明されているヘッダーが追加されていません。​​

ありがとうございます。

私はこれがあなたの問題だと思う
define("WEBMASTER_EMAIL", '[email protected]'); 
if($post) 
{ 
    $name = stripslashes($_POST['name']); 
    $email = trim($_POST['email']); 
    $subject = trim($_POST['subject']); 
    $message = stripslashes($_POST['message']); 

    $error = ''; 

    // Check name 
    if(!$name) 
     $error .= 'Name required! '; 

    // Check email 
    if(!$email) 
     $error .= 'E-mail required! '; 

    if($email && !ValidateEmail($email)) 
     $error .= 'E-mail address is not valid! '; 

    // Check message 
    if(!$message) 
     $error .= "Please enter your message!"; 

    if(!$error) 
    { 

     $mail = mail(WEBMASTER_EMAIL, $subject, $message, 
      "From: ".$name." <".$email.">\r\n" 
      ."Reply-To: ".$email."\r\n" 
      ."X-Mailer: PHP/" . phpversion()); 

     if($mail) 
      echo 'OK'; 
    } 
    else 
     echo '<div class="errormsg">'.$error.'</div>'; 
} 
+0

私は答えが「なぜ」起こっているのかわかりませんが、私は考えています。通常の方法で電子メールを送信し、生の内容を確認してから、PHPを使用して送信した電子メールの内容を確認します。おそらく何かが失われています。 – Grzegorz

+1

それはあなたのメッセージの性質かもしれません。電子メールを迷惑メールとしてマークしないようにする魔法のヘッダーはありません。 –

+3

メッセージが迷惑メールとして送信されるのは、間違ったヘッダーだけではありません。コンテンツのようなその他の問題、送信ホストで実行された逆DNSルックアップ、および他のすべてが貢献します。 –

答えて

9

使用このコード

$to = Email; 
$subject = subject ; 
$body = "<div> hi hi .. </div>"; 

    $headers = 'From: YourLogoName [email protected]' . "\r\n" ; 
    $headers .='Reply-To: '. $to . "\r\n" ; 
    $headers .='X-Mailer: PHP/' . phpversion(); 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
if(mail($to, $subject, $body,$headers)) { 
    echo('<br>'."Email Sent ;D ".'</br>'); 
    } 
    else 
    { 
    echo("<p>Email Message delivery failed...</p>"); 
    } 
+4

投稿時に良いことがありました。残念ながら今日、これはGmailの迷惑メールとして捉えられています。 – Sparky

+2

多くのルールを破る迷惑メールボックス – TomSawyer

+0

にまっすぐ行くと面白くありません。 – Jasen

4

"From: ".$name." <".$email.">\r\n" 

あなたがGmailやHotmailやユーザーの電子メールプロバイダではないので、あなたは「から:otherdomain.com」することはできませんし、その後経由してメールを配信"mail.yourdomain.com" - あなたのメールをスパムフォルダに移動さ​​せる可能性が最も高いです。

ではなく

"From: YourWebsiteName <[email protected]>\r\n" 
."Reply-To: ".$name." <".$email.">\r\n" 

を試してみてください。

また、あなたのコードは非常に保存されていないし、プライムスパムのターゲット - google "メールヘッダインジェクションのPHP"です!

0

Googleは、ウェブサイトだけでなく、ネットワーク経由でスパム多くのユーザーを持っているために使用するサービスプロバイダだけでなく、訓練する傾向があります。 spammersとして知られているgoogleがこのサービスプロバイダの1人に選ばれた場合、これはphp mail()メッセージがGmailのスパムボックスに届く理由になる可能性があります。サーバープロバイダにこの問題についてチャットを試みてください。 ?「なぜ、スパムでこのメッセージがある我々は home.plからのメッセージの多くが迷惑メールであることを

見つけた:あなたは「スパム」メッセージでGoogleからの警告が表示されますその場合

詳細についてはこちらをご覧ください。

関連する問題