2009-05-13 12 views
8

पर दिखाया गया है मेरे पास 2 साइटें हैं जहां मेल दो वैनिटी जीमेल खातों में भेजा जाता है। मैं मेल को संभालने के लिए PHP का उपयोग कर रहा हूं, लेकिन मेल जीमेल पर नहीं दिख रहा है (स्पैम/जंक में नहीं, यह सिर्फ दिखाई नहीं देता है)। अगर मैं PHP को अपने व्यक्तिगत हॉटमेल खाते में भेजने के लिए स्विच करता हूं, तो मेल दिखाता है। मेरे आईएसपी के माध्यम से एक व्यक्तिगत ईमेल खाते के लिए वही।जीमेल पर PHP मेल नहीं दिख रहा है लेकिन हॉटमेल और अन्य तृतीय पक्ष/आईएसपी खाते

मेल उन 2 वैनिटी जीमेल खातों पर प्रदर्शित होने के लिए उपयोग किया जाता था, कोई विचार क्यों वे रुकेंगे?

+0

मुझे एक ही समस्या है। मेरे पास सभी आवश्यक हेडर भी हैं लेकिन ईमेल सिर्फ दिखाई नहीं देता है। –

उत्तर

8

एक संभावना है कि आपने उचित शीर्षलेख डेटा सेट नहीं किया है, और उन ईमेल को स्पैम फ़ोल्डर तक पहुंचने से पहले अवरुद्ध कर दिया गया है।

कुछ इस तरह जोड़ने का प्रयास करें:

$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]'; 

यह मेल() फ़ंक्शन के चौथे पैरामीटर है।

+0

मैं सहमत हूं, यह संभव है। –

+0

उचित शीर्षलेख डेटा क्या होगा? मैं कोई हेडर सेट नहीं कर रहा हूं: $ to = '[email protected]'; $ विषय = 'मेरा विषय'; $ body = urlencode ($ टिप्पणियां); मेल ($ से $ $, urldecode ($ body), "से: {$ _POST ['ईमेल']}"); –

+0

और दोहराने के लिए, मेल दोनों खातों के माध्यम से जाने के लिए उपयोग किया जाता था। कोई कोड परिवर्तन नहीं किए गए हैं। –

4

मुझे अतीत में समस्याएं आई हैं जहां कुछ मुफ्त ईमेल प्रदाताओं को मेरे सर्वर से कोई ईमेल प्राप्त नहीं होगा।

मैंने पाया कुछ चीजें अपराधी हो, वास्तविक संदेश में सही हेडर डालने की चोटी पर कर सकते हैं कि:

  • सुनिश्चित करें कि आपके सर्वर reverse dns lookup
  • के लिए कॉन्फ़िगर किया गया है सुनिश्चित करें कि आप नहीं चला रहे हैं बनाओ एक खुला smtp relay
  • मेक सुनिश्चित करें कि आपके सर्वर यदि आप एक खुला रिले था किसी भी email blacklists में हवा नहीं था (आप शायद काली सूची में डाल दिया गया।

संभावना है, PHP ईमेल को ठीक से भेज रहा है, लेकिन Google सर्वर आपके सर्वर से आने वाले किसी भी संदेश को अस्वीकार कर रहे हैं।

आप एक त्वरित कार्य करके यह परीक्षण कर सकते हैं:

mail -s Test [email protected] < /dev/null 

यदि आपका सर्वर ठीक है, आप अपने जीमेल में एक संदेश प्राप्त होगा यदि आप नहीं, पीएचपी समस्या नहीं है।

0

अधिक होने की संभावना है कि यह एक सर्वर कॉन्फ़िगरेशन की समस्या नहीं एक PHP मुद्दा है लगता है मदद करता है।

एक तरफ ध्यान दें मैं अपने स्थानीय प्रणाली की तुलना में जीमेल अधिक सहिष्णु पाया है, इसलिए मैं अपने जीमेल खाते में बाहर संदेश प्राप्त कर लिया है के रूप में, लेकिन नहीं की मेजबानी डोमेन पर अपने खाते।

मैं Google तृतीय-पक्ष काला सूचियों का उपयोग करता नहीं लगता कि है, लेकिन वे सर्वर विन्यास के बारे में परवाह है (यह अपने आप में सही ढंग से पहचान करता है, मिलान एसपीएफ़ और RDNS रिकॉर्ड है, ठीक से आदेशों का जवाब)। आप this या this जैसी कुछ परीक्षण सेवाओं को आजमा सकते हैं।

0

मुझे लगता है कि यह बहुत देर हो चुकी है लेकिन ... निम्नलिखित कोड जीमेल के लिए काम कर रहा है।

<html> 
Mail Responder:<br><br> 
<?php 
$to = $_REQUEST['MyEmail'] ; 
$subject = $_REQUEST['subject'] ; 
$greeting = $_REQUEST['greeting'] ; 
$realname = $_REQUEST['realname'] ; 
$HisEmail = $_REQUEST['HisEmail'] ; 
$message = $_REQUEST['message'] ; 
$headers = 'From: '.$HisEmail; 
//$headers = 'From: $HisEmail' . "\r\n" . 
//'Reply-To: [email protected]'; 

$send = mail($to, $subject, $greeting."\n"."\n".$realname."\n"."\n".$HisEmail."\n"."\n".$message, $headers); 
if ($send) 
$mailReturns = "Mail sent successfully."; 
else 
$mailReturns = "Mail sent failed."; 

?> 
<?php echo $mailReturns; ?> 
</html> 
+1

यह मेरे लिए जीमेल के लिए काम नहीं करता है। एक ही कोड को चलाएं और जीमेल खाते में भेज दें। –

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