Не удалось установить соединение с хостом smtp.gmail.com [Соединение отклонено # 111] в отправке электронной почты laravel 5.6

Отправка электронной почты не удалась из cpnel, но она отлично работает на моем локальном хосте.

Вот моя конфигурация электронной почты в файле .env.

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
[email protected]
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl

Он отлично работает в localhost, но не работает в cpanel. В cpanel отображается

Connection could not be established with host smtp.gmail.com [Connection refused #111]

Как мне решить эту проблему?


person Amanullah Aman    schedule 30.08.2018    source источник
comment
Можете ли вы отправлять электронную почту на локальном хосте с помощью электронной почты Gmail?   -  person    schedule 30.08.2018
comment
Очевидный ответ заключается в том, что CPanel или ваш хост-провайдер блокируют Gmail или SMTP. Вы можете проверить, так ли это?   -  person Loek    schedule 30.08.2018
comment
@Shujaat .. Да, я могу отправлять электронную почту с локального хоста, используя электронную почту Gmail.   -  person Amanullah Aman    schedule 30.08.2018
comment
@Loek Как проверить, заблокирован ли мой SMTP в cpanel.   -  person Amanullah Aman    schedule 30.08.2018
comment
Проверяли ли вы в учетной записи получателя, с какого адреса электронной почты вы получаете электронные письма?   -  person    schedule 30.08.2018
comment
@Shujaat ... Он показывает мою учетную запись Gmail.   -  person Amanullah Aman    schedule 30.08.2018
comment
Я решил это. Просто сменил mail_driver smtp на sendmail и прот 465 на 587   -  person Amanullah Aman    schedule 30.08.2018


Ответы (4)


Проблема решена. Я изменил две вещи здесь: MAIL_DRIVER и MAIL_PORT.

MAIL_DRIVER=sendmail
MAIL_PORT=587

Итак, мой полный код:

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl

Работает нормально

person Amanullah Aman    schedule 30.08.2018
comment
Добро пожаловать @BMShamsNahid - person Amanullah Aman; 30.08.2018
comment
Я не отправляю с сервера smtp.gmail.com, который он отправляет с хостинга по умолчанию SMTP - person Abhi Burk; 07.10.2019

Я знаю, что на этот вопрос был дан ответ, но у меня есть альтернативное решение, которое соответствует исходному описанию и может кому-то помочь. Вы не ответили на вопрос Лука о том, используете ли вы cPanel или нет. Мы запускаем cPanel с брандмауэром lfd / csf, и у него есть конфигурация TCP_OUT, в которой перечислены исходящие порты, к которым могут быть подключены. Порт 465 (tls) не был в этом списке, поэтому мы получили отчеты «Соединение отказано», даже попробовав низкоуровневый тест telnet в командной строке нашего VPS-сервера:

$ telnet smtp.gmail.com 465
Trying 74.125.140.109...
telnet: connect to address 74.125.140.109: Connection refused
Trying 74.125.140.108...
telnet: connect to address 74.125.140.108: Connection refused
Trying 2a00:1450:400c:c08::6d...
telnet: connect to address 2a00:1450:400c:c08::6d: Connection refused

Тот же тест telnet отлично работал на моем локальном компьютере.

После добавления 465 в список TCP_OUT:

  • Загрузить панель управления WHM
  • go to ConfigServer Security & Firewall
  • go to Firewall Configuration
  • найдите TCP_OUT и включите 465 (или любой другой порт, к которому вы пытаетесь подключиться) в список
  • щелкните Change внизу страницы, затем Restart lfd/csf.

Telnet теперь работает успешно, как и отправка почты smtpauth через PHPMailer:

$ telnet smtp.gmail.com 465
Trying 74.125.140.109...
Connected to smtp.gmail.com.
Escape character is '^]'.

(это означает, что соединение с сокетом было установлено ... вы, вероятно, не хотите на самом деле разговаривать по SMTP с Google, поэтому нажмите ctrl-], введите quit и нажмите Enter, чтобы закрыть соединение)

Конечно, это не относится к cPanel, возможно, у вас запущен другой менеджер брандмауэра, который не разрешает исходящие соединения через порт, к которому вы пытаетесь подключиться.

person Neek    schedule 06.01.2019

Через пару дней исследования. У меня возникла проблема: не удалось установить соединение с хостом smtp.gmail.com [в соединении отказано] из-за моего сервера godaddy

Поскольку GoDaddy блокирует SMTP-соединение через порты 465 и 587 и, возможно, 25, исходящие с вашего сайта. Они разрешат поток почты только через свои собственные SMTP-серверы.

Это было проблемой в моем случае. надеюсь, это поможет кому-то

Для справки проверьте это: https://pk.godaddy.com/community/Using-WordPress/Connection-Refused-for-GMail-SMTP/td-p/33107

person zafar Khan    schedule 11.04.2020

Раньше я сталкивался с этой проблемой, я разрешал менее безопасные приложения из диспетчера учетных записей Google. И моя проблема была решена.

Похоже, вам тоже нужна авторизация для приложения расширения, чтобы использовать Gmail.

Вы можете следовать приведенным ниже инструкциям ...

Войдите в свою учетную запись Gmail.

Перейдите по этой ссылке, чтобы изменить настройки.

Потом надо включить Allow less secure apps.

После этого попробуйте еще раз отправить электронное письмо через ваш хост.

person Community    schedule 30.08.2018
comment
Allow less secure apps уже включен, и отправка электронной почты работает с моего локального хоста и моего личного cpnel-сервера. Но когда я загружаю свой проект на клиентский сервер, он не работает. - person Amanullah Aman; 30.08.2018