"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية حل أخطاء \"SMTP Connect() Failed\" عند استخدام PHPmailer مع Gmail؟

كيفية حل أخطاء \"SMTP Connect() Failed\" عند استخدام PHPmailer مع Gmail؟

تم النشر بتاريخ 2024-11-08
تصفح:165

  How to Resolve \

فشل اتصال SMTP في PHPmailer: حل المشكلة

عند إرسال رسائل البريد الإلكتروني من خلال PHPmailer، قد يواجه المطورون خطأ: "خطأ في Mailer: SMTP فشل الاتصال ()." غالبًا ما تنشأ هذه المشكلة عند استخدام خادم SMTP الخاص بـ Gmail.

يكمن الحل في تطبيق Google لآلية التفويض الجديدة، XOAUTH2. للسماح لـ PHPmailer بالاتصال بـ SMTP الخاص بـ Gmail، يجب عليك تمكين إعداد "التطبيقات الأقل أمانًا" في حساب Google الخاص بك. تمنح هذه الخطوة الوصول إلى التطبيقات التي لا تلتزم ببروتوكولات التشفير الصارمة.

بالإضافة إلى ذلك، بدلاً من استخدام SSL عبر المنفذ 465، قم بالتبديل إلى TLS عبر المنفذ 587. يضمن TLS تشفير طلباتك بشكل آمن، بما يلبي متطلبات Google. .

يوجد أدناه مقتطف كود معدل يتضمن هذه التغييرات:

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;
    }
}

من خلال تنفيذ هذه التعديلات، يمكنك بنجاح إنشاء اتصال بخادم SMTP الخاص بـ Gmail وإرسال رسائل البريد الإلكتروني من خلال PHPmailer.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3