PHPmailer में SMTP कनेक्ट विफलता: समस्या का समाधान
PHPmailer के माध्यम से ईमेल भेजते समय, डेवलपर्स को एक त्रुटि का सामना करना पड़ सकता है: "मेलर त्रुटि: SMTP कनेक्ट करने में विफल रहा।" जीमेल के एसएमटीपी सर्वर का उपयोग करते समय यह समस्या अक्सर उत्पन्न होती है।
इसका समाधान Google के एक नए प्राधिकरण तंत्र, XOAUTH2 के कार्यान्वयन में निहित है। PHPmailer को Gmail के SMTP से कनेक्ट करने की अनुमति देने के लिए, आपको अपने Google खाते में "कम सुरक्षित ऐप्स" सेटिंग सक्षम करनी होगी। यह चरण उन अनुप्रयोगों तक पहुंच प्रदान करता है जो सख्त एन्क्रिप्शन प्रोटोकॉल का पालन नहीं करते हैं। .
नीचे एक संशोधित कोड स्निपेट है जिसमें ये परिवर्तन शामिल हैं:
require_once 'C:\xampp\htdocs\email\vendor\autoload.php'; परिभाषित करें ('GUSER','[email protected]'); परिभाषित करें ('GPWD','आपका पासवर्ड'); // एक अलग फ़ाइल बनाएं और इस फ़ाइल को उसमें शामिल करें। इस फ़ंक्शन को उस फ़ाइल में कॉल करें। फ़ंक्शन smtpmailer($से, $से, $from_name, $विषय, $body) { वैश्विक $त्रुटि; $मेल = नया PHPMailer(); // एक नया ऑब्जेक्ट बनाएं $मेल->IsSMTP(); // एसएमटीपी सक्षम करें $मेल->SMTPDebug = 2; // डिबगिंग: 1 = त्रुटियाँ और संदेश, 2 = केवल संदेश $मेल->SMTPAuth = सत्य; // प्रमाणीकरण सक्षम $mail->SMTPSecure = 'tls'; // जीमेल के लिए सुरक्षित स्थानांतरण सक्षम होना आवश्यक है $मेल->SMTPAutoTLS = गलत; $मेल->होस्ट = 'smtp.gmail.com'; $मेल->पोर्ट = 587; $मेल->उपयोगकर्ता नाम = GUSER; $मेल->पासवर्ड = GPWD; $मेल->SetFrom($from, $from_name); $मेल->विषय = $विषय; $मेल->बॉडी = $बॉडी; $मेल->पता जोड़ें($से); अगर(!$मेल->भेजें()) { $error = 'मेल त्रुटि:'.$mail->ErrorInfo; विवरण झूठा है; } अन्य { $त्रुटि = 'संदेश भेजा गया!'; सच लौटें; } }require_once 'C:\xampp\htdocs\email\vendor\autoload.php';
define ('GUSER','[email protected]');
define ('GPWD','your password');
// make a separate file and include this file in that. call this function in that file.
function smtpmailer($to, $from, $from_name, $subject, $body) {
global $error;
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 2; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail
$mail->SMTPAutoTLS = false;
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = GUSER;
$mail->Password = GPWD;
$mail->SetFrom($from, $from_name);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
return false;
} else {
$error = 'Message sent!';
return true;
}
}
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3