Сегодня я делал некоторые почтовые рассылки в php, я обнаружил, что есть два метода для этого: простая функция почты, предоставленная Php, а вторая, которую я нашел в Интернете, касалась использования класса почтовой программы PHP с сайта https : //github.com/PHPMailer/PHPMailer . проблема в том, что я запускаю свою программу, чем почта не отправляется. Давайте посмотрим на код
<?php include 'PHPMailer-master/class.phpmailer.php'; $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, // 2 = messages only $mail->SMTPAuth = true; // authentication enabled $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail $mail->Host = "smtp.gmail.com"; $mail->Port = 465; # or 587 $mail->IsHTML(true); $mail->Username = "singh6@gmail.com"; $mail->Password = "88888*******"; $mail->SetFrom('singh@gmail.com'); $mail->AddAddress('sanu@gmail.com'); $mail->Subject = "Test"; $mail->Body = "hello"; $sendResult = $mail->Send(); if ($sendResult) { echo "Message has been sent"; } else { echo "Mailer Error: " . $mail->ErrorInfo; }
Теперь, когда я запускаю этот скрипт, я получаю следующую ошибку:
CLIENT -> SMTP: EHLO localhost SMTP -> ERROR: EHLO not accepted from server: CLIENT -> SMTP: HELO localhost
Обратите внимание: fwrite (): ошибка отправки из 16 байтов с errno = 10054 Существующее соединение было принудительно закрыто удаленным хостом. в C: \ xampp \ htdocs \ program \ mailsending1 \ mailsending_v1 \ PHPMailer-master \ class.smtp.php в строке 1023
SMTP -> ERROR: HELO not accepted from server: SMTP -> NOTICE: EOF caught while checking if connected SMTP Connect() failed. Mailer Error: SMTP Connect() failed.
Измените порт SMTP на 465. Он должен работать
сначала попробуйте это, чтобы найти ошибки
if ($mail->Send()) { echo "mail send sucessfully"; } else { echo "sending failed"; echo 'Mailer Error: ' . $mail->ErrorInfo; exit; }
поместите тело в свою почту
$mail->Body="<!DOCTYPE html> <html lang='en-us'> <head> <meta charset='utf-8'> <title></title> </head> <body> <div> </div> </body> </html>";