Я полагаю, что этот вопрос задавался ранее, но я не мог найти решение этой проблемы.
Я использую PHPMailer для обработки электронной почты на веб-сайте. На localhost все работает нормально, но на живом сервере это не работает. Вот мой код:
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->IsSMTP();
$mail->Host='smtp.gmail.com';
$mail->Port=587;
$mail->SMTPAuth=true;
$mail->SMPTSecure='tls';
$mail->SMTPDebug = 3;
$mail->Username='*********';
$mail->Password='*********';
$mail->setFrom('*********', '********* Booking', 0);
$mail->addAddress('*********');
$name = "First Name :" . $_POST['firstname'] . "<br>";
$email = "Email :" . $_POST['email'] . "<br>";
$number = "Contact Number :" . $_POST['number'] . "<br>";
$message = "message :" . $_POST['message'] . "<br>";
$truck = "Truck Selected :" . $_POST['item'] . "<br>";
$mail->isHTML(true);
$mail->Subject='********* Booking';
$mail->Body= "$name $email $number $message $truck";
if(!$mail->send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
header('Location: /index.php');
echo 'Message was sent.';
exit;
}
Отправка электронной почты на действующий сервер с использованием вышеуказанного кода приводит к следующему:
2020-01-22 07:51:48 Connection: opening to smtp.gmail.com:587, timeout=300, options=array ()
2020-01-22 07:51:48 Connection failed. Error #2: stream_socket_client() [<a href='function.stream-socket-client'>function.stream-socket-client</a>]: unable to connect to smtp.gmail.com:587 (Connection refused) [/websites/cv/*********/phpmailer/class.smtp.php line 299]
2020-01-22 07:51:48 SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Message was not sent.Mailer error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Однако, если я отключу $mail->IsSMTP();
, что некоторые люди предположили, что ошибка не отображается, но электронные письма не отправляются / не принимаются.
Что я пробовал:
- Использование ssl, порт 465
- Включил менее защищенные приложения при отправке электронной почты
- Свяжитесь с моим хостом, спросите, заблокирован ли какой-либо из портов, они сказали, что они не
- Убедитесь, что openssl был active
- Убедитесь, что учетные данные для входа в систему верны
После выполнения всех этих действий все еще говорится, что соединение при использовании SMTP отклонено. Кто-нибудь знает, что может быть причиной этого?