Ответ 1
Замена: smtp.gmail.com
с помощью 173.194.65.108
действительно сработала для меня!
Я отправляю сообщения, потому что я уже прошел через решения, размещенные в других вопросах здесь, но они не помогли.
Я пытаюсь отправить электронную почту с помощью Swiftmailer через Google Apps для бизнеса Gmail, но я продолжаю получать эту ошибку:
Не удалось установить соединение с узлом smtp.gmail.com [Время ожидания подключения: 110]
Я знаю, что код в порядке, потому что он работает на моей локальной машине, но не на рабочем сервере.
То, что я пробовал до сих пор:
Конфигурация:
# Swiftmailer Configuration
swiftmailer:
transport: smtp
encryption: ssl
auth_mode: login
host: smtp.gmail.com
username: [email protected]
password: applicationspecificpassword
port: 465
Что еще я могу попробовать? Может ли это быть проблемой DNS, поскольку я использую записи Gmails SMTP MX вместо серверов.
Замена: smtp.gmail.com
с помощью 173.194.65.108
действительно сработала для меня!
Для меня работали следующие шаги:
Проверьте, включен ли httpd_can_sendmail, запустите это getsebool httpd_can_sendmail
setsebool -P httpd_can_sendmail 1
Также проверьте, включено ли httpd_can_network_connect, запустите getsebool httpd_can_network_connect
setsebool -P httpd_can_network_connect 1
'host' => '64.233.166.108'
'port' => '465'
Я использую Centos
Если вы когда-нибудь захотите вернуться к использованию Gmail, я столкнулся с той же проблемой - код работал на моей локальной машине, но не на реальном сервере, и думаю, что я понял, что вызывает ее (по крайней мере в моем случае).
Похоже, что если сервер поддерживает IPv6 и IPv4, домен сервера разрешается как версия IPv6, поэтому PHP пытается подключиться к нему. Но я обнаружил, что smtp.gmail.com не ответил, поэтому через 30 секунд script просто сдался и был отключен. Вы могли бы подумать, что PHP будет пытаться выполнить IPv4 после отказа IPv6, но нет.
Итак, когда я поменялся на IPv4-адрес smtp.gmail.com(полученный путем его ping-ing), все работало нормально и отправлено электронное письмо. Это не идеальное использование IP вместо домена, поскольку оно может меняться, но, по крайней мере, это позволяет сэкономить оставшиеся серверные половицы:)
просто добавьте 74.125.130.108 smtp.gmail.com
к файлу хостов сервера
Я опубликовал обходное решение в Время соединения WIFI Swiftmailer с отключенным временем # 110, где вы можете использовать IPv4 или IPv6.
Для меня проблема была в том, что я использовал tls-шифрование, вот порты для TLS и SSL. Не забудьте перезагрузиться после изменения файла env.
smtp.gmail.com --- SSL --- 465
smtp.gmail.com --- StartTLS --- 587
Кроме того, вам необходимо изменить безопасность вашей учетной записи google