#laravel #email
#laravel #Адрес электронной почты
Вопрос:
Итак, в основном я пытаюсь отправить письмо через smtp.
Моя конфигурация следующая :
MAIL_DRIVER=smtp
MAIL_HOST=mail.gandi.net
MAIL_PORT=587
MAIL_USERNAME=webmaster@xxxx.com
MAIL_PASSWORD=xxxx
Я попробовал это в локальной среде, и все работало отлично. Однако, когда я запускаю его в производство, я заканчиваю с этой ошибкой :
Местные новости.ОШИБКА: Swift_TransportException: не удалось установить соединение с хостом mail.gandi.net [Время ожидания подключения истекло #110]
Я попытался изменить порт с 587 на 25, думая, что это может быть связано с FAI, но ничего не получилось.
Кто-нибудь знает, откуда это может быть?
Редактировать
На сервере разработки :
$ telnet mail.gandi.net 587
Trying 2001:4b98:c:521::11...
На сервере prod :
$ telnet mail.gandi.net 587
Trying 217.70.184.11...
Connected to mail.gandi.net.
Escape character is '^]'.
220 relay.mail.gandi.net ESMTP Postfix (edited)
Ответ №1:
Кажется, что хост ошибочен. Для меня это работает так:
MAIL_HOST=ssl://mail.gandi.net
MAIL_PORT=465
Комментарии:
1. Я согласен, что SSL-соединение лучше, но я могу подключиться к mail.gandi.net порт 587 отлично подходит отсюда без SSL.
Ответ №2:
Находится ли ваш производственный сервер за каким-либо брандмауэром? Попробуйте подключиться по telnet к хосту через порт и посмотреть, сможете ли вы подключиться.
Если вы не можете и нет способа открыть соединение, я предлагаю использовать Mailgun для ваших нужд отправки. https://laravel.com/docs/5.3/mail#driver-prerequisites
Комментарии:
1. Итак, я попытался подключить его к telnet, но все порты заблокированы на сервере разработчиков.
2. Тогда используйте Mailgun API Laravel! Таким образом, все сообщения отправляются через API вместо SMTP.