У меня есть этот код, и все работает хорошо на моем локальном сервере. Письмо отправляется без каких-либо проблем.
Но теперь я передаю содержимое веб-серверу, и я получаю эту ошибку …
SMTP Error: Could not connect to SMTP host.
SSL разрешен на сервере … правильно? Так в чем проблема?
$mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the servier $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->Port = 465; // set the SMTP port $mail->Username = "dnteiro"; // GMAIL username $mail->Password = "xxx"; // GMAIL password
Похоже, ваш веб-хост блокирует исходящие подключения к smtp.gmail.com:465. Предложения:
Проверьте: если у вас есть доступ к оболочке / терминалу на ваш сервер веб-хостинга, попробуйте тест telnet, чтобы убедиться, что они фактически блокируют это . Запустить telnet smtp.gmail.com 465
Контакт. Позвоните или отправьте по электронной почте своему хостинг-провайдеру и узнайте, какой SMTP-сервер они предоставляют для исходящего реле. Убедитесь, что они знают, что вы хотите использовать свой адрес @gmail.com
качестве адреса From / Reply.
Код обновления. Как только ваш хост предоставит вам другой почтовый сервер, обновите свой код и повторите попытку.
Если ваш веб-хост не разрешает исходящее ретрансляцию со своих серверов вообще, вам нужно посмотреть на переключение хостов, если это требование для вашего приложения.
AJ прав в отношении № 2, это указано в: http://support.google.com/mail/bin/answer.py?hl=ru&answer=78775.