Мне недавно не удалось отправить почту через php на localhost. Я использую PHPMailer
и SwiftMailer
в разных частях приложения.Я не могу отправить почту с SwiftMailer или PHPMailer из Localhost с помощью gmail
С SwiftMailer
я получаю это:
Connection could not be established with host smtp.gmail.com [ #0]
С PHPMailer
, сообщение:
SMTP Error: Could not connect to SMTP host.
Мои настройки на SwiftMailer выглядеть следующим образом:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername(APP_GMAIL_EMAIL)
->setPassword(APP_GMAIL_PWD);
Я прошел через несколько потоков здесь, в SO и в других местах, и попробовал множество «исправлений» bu t сообщения об ошибках остаются неизменными. Некоторые "решения" я попытался это:
- Включить OpenSSL в
php.ini
(Это было ранее отключено) - Изменение
smtp.gmail.com
вsmtp.googlemail.com
- Заменить
smtp.gmail.com
с определенными адресами Gmail IP - Заменить
smtp.gmail.com
сgethostbyname('smtp.gmail.com')
- Добавить
->setSourceIp('0.0.0.0')
в код подтверждения, послеsetUsername
иsetPassword
Этот код ранее работал, и я не уверен, что могло нарушить функцию. В рамках устранения неполадок я только что подтвердил, что аналогичный код на хостинговом хостинге Linux удовлетворительно рассылает по электронной почте, что указывает на то, что проблема как-то из моей среды. Таким образом, я даже попробовал разные источники доступа в Интернет, если это интернет-провайдер.
Как я могу взломать этот орех?
Прочитайте [Документы по устранению неполадок PHPMailer] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). – Synchro