تفعيل ميزة التحقق من البريد الاكترونى

السلام عليكم اعمل على موقع php اريد ان اضيف ميزة التحقق من البريد الاكترونى استخدمت مكتبة phpmailer

ولامن حاليا المكتبة لاتعمل هل يوجد طريقة اسهل لعمل هذة المهمة شكرا مقدما


التعليق السابق

هل قمت بتكوين تفاصيل خادم SMTP بشكل صحيح؟ وهم:

  • مضيف SMTP
  • منفذ SMTP
  • اسم المستخدم وكلمة المرور
  • نوع التشفير (TLS/SSL)

أيضًا تستطيع ضبط SMTPDebug بقيمة 2 للحصول على تفاصيل أكثر عن الخطأ.

للتوضيح تلك هي الإعدادات التي يجب عليك ضبطها:

$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 2; 
$mail->Host = 'smtp.host.com';
$mail->SMTPAuth = true;
$mail->Username = 'username';
$mail->Password = 'password';
$mail->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS; // أو PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_SMTPS
$mail->Port = 587; // أو 465 لـ SSL، أو 25 لغير المشفر


$mail->setFrom('from@gmail.com', 'Mailer');
$mail->addAddress('to@gmail.com', 'User'); 
$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the body in plain text for non-HTML mail clients';


if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

عليك تعديل القيم السابقة بما لديك.

أنصحك بقراءة التالي:

بعد التعديل على الكود والتاكد ان كل شى على ما يرام يظهر هذا الخطا

2024-05-18 22:44:43 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP ffacd0b85a97d-354bae5ef22sm2604403f8f.67 - gsmtp

2024-05-18 22:44:43 CLIENT -> SERVER: EHLO localhost

2024-05-18 22:44:43 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [197.59.91.87]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250 SMTPUTF8

2024-05-18 22:44:43 CLIENT -> SERVER: STARTTLS

2024-05-18 22:44:43 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS

SMTP Error: Could not connect to SMTP host.

2024-05-18 22:44:43 CLIENT -> SERVER: QUIT

2024-05-18 22:44:43

2024-05-18 22:44:43

SMTP connect() failed.

Message could not be sent.Mailer Error: SMTP connect() failed.