السلام عليكم اعمل على موقع php اريد ان اضيف ميزة التحقق من البريد الاكترونى استخدمت مكتبة phpmailer
ولامن حاليا المكتبة لاتعمل هل يوجد طريقة اسهل لعمل هذة المهمة شكرا مقدما
هل قمت بتكوين تفاصيل خادم SMTP بشكل صحيح؟ وهم:
أيضًا تستطيع ضبط 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.
التعليقات