2012-11-07 16 views
5

मैं निम्नलिखित तरीके से एक ई-मेल भेजने की कोशिश कर रहा हूँ -PHPMailer वर्ग सच रिटर्न लेकिन ईमेल डिलीवर नहीं किया जाता

from : [email protected] 
reply-to : [email protected] 
to : [email protected] 
cc : [email protected] 

मेरा ईमेल पता सीसी में उल्लेख किया है (अगर मैं और सीसी के लिए ईमेल की जगह के लिए दिया जा रहा है , तो ईमेल में उल्लिखित पते पर ईमेल भेजा जाता है)

किसी कारण से, ईमेल [email protected] पते पर वितरित नहीं किया जा रहा है। अगर मैं Outlook या gmail का उपयोग करके इस पते पर मैन्युअल रूप से ईमेल भेजता हूं, तो ईमेल वास्तव में वितरित किया जाता है। मैं इस मुद्दे को कैसे डीबग कर सकता हूं?

मैंने स्पैम/जंक निर्देशिकाओं को भी चेक किया है, वहां कोई ईमेल नहीं है। मैंने PHP मेल() फ़ंक्शन के साथ-साथ phpmailer क्लास का उपयोग करने का प्रयास किया। वे दोनों सत्य लौटते हैं। कारण क्या हो सकता है? कृपया मदद करे।

$mail->From = "[email protected]"; 
$mail->AddReplyTo("[email protected]"); 
$mail->AddAddress("[email protected]"); 
$mail->AddCC("[email protected]"); 
$mail->Subject = $subject; 
$mail->Body = $message; 

if(! $mail->Send()) { 
    echo "Message was not sent"; 
    echo "Mailer Error: " . $mail->ErrorInfo; 
    exit; 
} 
+1

कृपया अपना कोड दें – Elby

+1

AFAIK, PHP के 'मेल() 'में ठोस डीबग तंत्र नहीं है। तो आप यह सुनिश्चित करने के लिए नहीं जानते कि समस्या कहां है। – asprin

+0

हां। Thats क्यों, मैं phpmailer वर्ग का इस्तेमाल किया। यह भी सच आता है। कोई त्रुटि फेंक नहीं है। मैंने ऊपर दिए गए प्रश्न में कोड जोड़ा है। –

उत्तर

2
Try to set cofigurations beffore send (Gmail config): 



    $mail = new Mailer(); 
    $mail->SMTPDebug = true; 
    $mail->SMTPAuth = true; 
    $mail->CharSet = 'utf-8'; 
    $mail->SMTPSecure = 'ssl'; 
    $mail->Host = 'smtp.gmail.com'; 
    $mail->Port = '465'; 
    $mail->Username = 'your login here'; 
    $mail->Password = 'your password here'; 
    $mail->Mailer = 'smtp'; 
    $mail->From = 'form mail address'; 
    $mail->FromName = 'from name'; 
    $mail->Sender = 'form mail'; 
    $mail->Priority = 3; 

    $mail->AddAddress('mail', 'admin name'); 
    $mail->AddReplyTo('replay to', 'admin name'); 
    $mail->Subject = 'subject'; 
    $mail->Body = 'some HTML message here'; 
    $mail->IsHTML(true); 
    if(!$this->Send()) { 
     print_r('error: '. $mail->ErrorInfo); // Show errors 
} 
    $mail->ClearAddresses(); 
    $mail->ClearAttachments(); 
+0

सभी स्थिरांक के साथ क्या है? आप सीधे मूल्यों को असाइन कर सकते हैं, आपको पता है? स्थिरांक की कोई ज़रूरत नहीं है। साथ ही, '$ mail' एक ऑब्जेक्ट नहीं है जब आप '$ मेल-> IsSMTP();' असाइन करने का प्रयास करते हैं। –

+0

सोरी। स्थिरता के बिना अब कुछ बदलाव जोड़ें – RDK

0

जांच करें कि आपके सर्वर जोर से है ईमेल ही मेरे मामले मैं Plesk इस्तेमाल किया में मुझे क्या हुआ भेजने के लिए और किसी कारण से मैं भेजने के लिए और ईमेल का जब तक मैं प्राप्त सक्षम नहीं था और ईमेल मैं इस बदलने के लिए कॉन्फ़िगरेशन और काम की जांच भी आप मेल भेजते हैं q qmail अगर qmail है तो आपको php mailer

0

यह भी हो सकता है यदि आप एक ईमेल पते से ईमेल भेज रहे हैं, लेकिन इसे एक अलग (या डोमेन) के विरुद्ध प्रमाणित कर रहे हैं

उसी ईमेल पर $ mail.setFrom() सेट करें जिसके लिए आप प्रमाणीकरण कर रहे हैं।