Не удалось установить соединение с хостом mail.gandi.net

#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.