Laravel - невозможно установить соединение с узлом smtp.gmail.com [# 0]
Я пытаюсь отправить электронное письмо из Gmail, используя Laravel из localhost. Я получаю эту ошибку: невозможно установить соединение с узлом smtp.gmail.com [# 0]
Я использую ssl с портом 465. Я также пробовал 587, но это не сработало.
Я также пробовал этот, но это не сработало. Я нашел много людей, страдающих от одних и тех же проблем, но решения, которые я нашел, не сработали.
Ответы
Ответ 1
У меня была та же ошибка: соединение не удалось установить с узлом smtp.gmail.com [# 0] и выполнил следующие шаги: https://github.com/swiftmailer/swiftmailer/issues/544.
Попробуйте добавить следующие строки в _establishSocketConnection()
в Swift/Transport/StreamBuffer.php в строке 263:
$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;
Обратите внимание, что это не идеальное решение, так как оно включает: а) взлома кода ядра, который может быть перезаписан в обновлении SwiftMailer, и b) снижает безопасность вашего приложения, поскольку вы больше не проверяете соединение. Но, как временная работа, это работало для меня.
Ответ 2
В вашем .ENV файле вам нужно будет указать адрес электронной почты и пароль своей учетной записи электронной почты.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=testpassword
Ответ 3
В каталоге проекта Laravel отредактируйте config/mail.php
и добавьте следующее:
'stream' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
]
Это сработало для меня.
Кстати, мои настройки SMTP:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=[Full Gmail Address]
MAIL_PASSWORD=[Google App Password obtained after two step verification on Google Account Page]
MAIL_ENCRYPTION=ssl
Ответ 4
Вы пытались изменить шифрование на tls? В настоящее время я использую SMTP-сервер Gmail для отправки писем из моего приложения Laravel. Я использую TLS и порт 587
Ответ 5
https://accounts.google.com/DisplayUnlockCaptcha
https://www.google.com/settings/security/lesssecureapps
env
MAIL_DRIVER = SMTP
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
[email protected]
MAIL_PASSWORD = тест
MAIL_ENCRYPTION = TLS
/********/
email.php
'from' = > ['address' = > '[email protected]', 'name' = > 'test'],
Ответ 6
это сработало для меня после длительного времени поиска, лучшей конфигурации:
'driver' => 'smtp',
'host' => 'smtp-mail.outlook.com',
'port' => 587, ( or 25)
'encryption' => 'tls',
Ответ 7
Для меня оказалось, что TripMode заблокировал nginx & PHP-FPM. Поэтому убедитесь, что ни одно подобное приложение или брандмауэр не блокирует соединение с почтовым сервером.
Ответ 8
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=testpassword
Ответ 9
Вы не можете отправлять электронную почту с вашего локального хоста по умолчанию.
Если вы правильно настроите свои файлы, вы сможете отправлять ему электронные письма.
Вы также можете попробовать загрузить сайт на сервер или в производственную зону. Там он будет работать.