2016-01-11 2 views
5

में काम नहीं कर रहा है, मैं namecheap डोमेन सर्वर में नया हूं। मैं उस नेमचेप सर्वर पर एक साधारण मेल भेजने की कोशिश कर रहा हूं। यह मेल नहीं भेज रहा था और कोई खाली मूल्य वापस नहीं आया कोई त्रुटि नहीं।PHP मेल() फ़ंक्शन नेमचेप सर्वर

मेरा नमूना कोड यहां है।

$to = "[email protected]"; 
$subject = "HTML email"; 
$message = "Hello this is testing mail"; 

// Always set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

if(mail($to,$subject,$message,$headers)) 
{ 
    echo "Mail sent...";  
} 
else 
{ 
    echo "Mail not sent"; 
} 

मान लीजिए कि मैं नामकैप सर्वर मेल के भीतर मेलआईडी से $ और $ को असाइन करता हूं तो मेल सफलतापूर्वक भेजा जाता है।

उदाहरण:

$to='[email protected]' 
$from='[email protected]' 

लेकिन मैं जीमेल सर्वर में से या $ करने के लिए मेल $ बदल रहा हूँ की तरह [email protected] तो यह एक मेल नहीं भेजेंगे और भी त्रुटि के बिना रिक्त मान लौटा रहा है। कैसे ठीक करना है।

से (Not receiving email from the PHP mail() method) केवल हमारे डोमेन पर होस्ट किए गए डोमेन का उपयोग 'से' फ़ील्ड में किया जा सकता है। हमारे साथ होस्ट नहीं किया गया कोई भी डोमेन 'से' फ़ील्ड में नहीं जोड़ा जा सकता है। फ़ोरम, अतिथि पुस्तकें और संपर्क फ़ॉर्म स्क्रिप्ट का उपयोग करके स्पैम भेजने से रोकने के लिए हमें यह उपाय करना पड़ा। आपकी साइट स्क्रिप्ट को ठीक से काम करने के लिए आपको 'से' फ़ील्ड को अपने सीपीनल में बनाए गए ईमेल खाते में सेट करना चाहिए।

यह मेरे मुद्दे से संबंधित है लेकिन मुझे नहीं पता कि मेरे सीपीनल में फ़ील्ड से ईमेल खाते में "सेट 'कैसे करें।"

+1

आप की जांच करनी चाहिए [PHPMailer] (https://github.com/PHPMailer/PHPMailer), तो आपको अधिक वर्णनात्मक त्रुटियों मिल जाएगा: यहाँ जवाब कोड है। – Darren

+0

त्रुटि जांचने के लिए आप किस डीबग नंबर का उपयोग कर रहे हैं? –

+0

त्रुटि_ रिपोर्टिंग (E_ALL); ini_set ('display_errors', 1); PHP त्रुटि लॉग में कोई त्रुटि संदेश नहीं। –

उत्तर

3

डैरेन सही है। मैं PHP मेल() फ़ंक्शन को PHPMailer मेल() विधि में बदल रहा हूं। लिंक डाउनलोड करें - https://github.com/PHPMailer/PHPMailer अब मेल सफलतापूर्वक भेजा गया था। टिप्पणियों के लिए धन्यवाद।

require 'class.phpmailer.php'; 

$mail = new PHPMailer; 

$mail->Host = 'smtp1.example.com'; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = 'secret';       // SMTP password 
$mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
$mail->Port = 587;         // TCP port to connect to 

$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('[email protected]', 'Rama Lingam');  // Add a recipient 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo('[email protected]', 'Information'); 
$mail->addCC('[email protected]'); 
$mail->addBCC('[email protected]'); 

$mail->isHTML(true); 

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo '<br>Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 
संबंधित मुद्दे