2012-08-30 4 views
5

이 문제가 몇 번 언급되었습니다. 적절한 헤더를 설정하기위한 지침에 따라 시도했지만 Gmail 이메일의 스팸 필터에 문제가 발생했습니다.PHP 메일() 양식이 GMAIL 스팸 메일로 전송 됨

누구든지 제가 시도한 것을 살펴볼 수 있다면 정말 고맙겠습니다. 아래 코드는 여기에 설명 된대로 헤더를 추가하지 않은 것입니다. http://www.velvetblues.com/web-development-blog/avoid-spam-filters-with-php-mail-emails/

미리 감사드립니다.

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은, 핫메일 또는 사용자의 이메일 제공, 당신은 "에서 : otherdomain.com"가질 수 없습니다되지 않기 때문에 다음을 통해 메일을 배달 "mail.yourdomain.com"- 메일을 스팸 폴더로 이동할 가능성이 큽니다.

대신

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

보십시오.

ALso : 귀하의 코드는 매우 저장되지 않고 주요 스팸 대상입니다 - google "이메일 헤더 주입 PHP"!

0

구글은 웹 사이트뿐만 아니라 네트워크를 통해 스팸 많은 사용자를 위해 사용하는 서비스 제공 업체뿐만 아니라 훈련하는 경향이있다. 스팸 발송자로 알려진 Google 서비스 제공 업체 중 한 명까지 가입 한 경우 이는 php mail() 메시지가 Gmail의 스팸 상자에 들어가는 원인이 될 수 있습니다. 서버 제공 업체와이 문제에 대해 대화를 시도하십시오. 당신이 당신의 "스팸"메시지에 구글에서 경고를 얻을 것이다이 경우

은?

"이 메일이 스팸으로 분류 된 이유는 우리는 home.pl에서 메시지의 대부분이 스팸입니다 자세히 알아보기 "

관련 문제