2012-08-30 19 views
5

पर भेज रहा है मुझे पता है कि इस समस्या को यहां कुछ बार संबोधित किया गया है। मैंने उचित शीर्षलेख स्थापित करने के लिए दिशानिर्देशों का पालन करने का प्रयास किया, फिर भी मैं अपने ईमेल के साथ जीमेल में स्पैम फ़िल्टर में जाने के साथ समस्याओं में भाग लेता हूं।PHP मेल() फॉर्म जीमेल स्पैम

यदि कोई भी कृपया मेरी कोशिशों पर नज़र डालें, तो मैं वास्तव में इसकी सराहना करता हूं। नीचे दिया गया कोड हेडर के बिना है जैसा कि यहां बताया गया है: 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

त्रुटिपूर्ण शीर्षलेख एकमात्र कारण नहीं हैं जो संदेशों को स्पैम के रूप में दायर किया जाता है। सामग्री जैसे अन्य मुद्दे, रिवर्स डीएनएस लुकअप भेजने वाले मेजबान पर किए जाते हैं, और अन्य सभी योगदान करते हैं। –

उत्तर

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

पोस्ट किए जाने पर अच्छा वापस हो सकता है। दुर्भाग्य से आज, यह जीमेल स्पैम के रूप में पकड़ा जा रहा है। – Sparky

+2

सीधे स्पैम बॉक्स – TomSawyer

+0

पर जाएं जो इतने सारे नियम तोड़ता है कि यह मजाकिया नहीं है। – Jasen

4

मैं इस बारे में सोच आपकी समस्या है:

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

जब से तुम जीमेल, हॉटमेल या अपने उपयोगकर्ताओं को ईमेल प्रदाता, आप "से: otherdomain.com" कर रहे हैं नहीं कर सकते नहीं और उसके बाद के माध्यम से मेल वितरित "mail.yourdomain.com" - यह संभवतः आपके मेल को स्पैम फ़ोल्डर में ले जायेगा।

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

की कोशिश करो।

भी: आपका कोड बहुत ही अनसुलझा है और एक प्रमुख स्पैम लक्ष्य - Google "ईमेल हेडर इंजेक्शन php"!

0

गूगल न केवल वेबसाइट पर भी सेवा प्रदाताओं, जो कई उपयोगकर्ताओं को नेटवर्क पर स्पैमिंग के लिए उपयोग करने के अनुशासित जाता है। यदि आपको इस सेवा प्रदाताओं में से एक के लिए गाया जाता है जो Google को स्पैमर के रूप में जानते हैं तो यह कारण हो सकता है कि आपके PHP मेल() संदेश जीमेल में स्पैम बॉक्स में क्यों आते हैं। अपने सर्वर प्रदाता के साथ इस मुद्दे के बारे में बात करने का प्रयास करें।

उस मामले में आप अपने "स्पैम" संदेश में गूगल से एक चेतावनी मिल जाएगा:

"क्यों यह संदेश अनचाहा में हमें पता चला है कि home.pl के बहुत से संदेश स्पैम होते हैं और जानें "

संबंधित मुद्दे