Проблемы Laravel Gmail SMTP в cPanel: ошибки тайм-аута и SSL (работает локально)Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы Laravel Gmail SMTP в cPanel: ошибки тайм-аута и SSL (работает локально)

Сообщение Anonymous »

Я пытаюсь отправлять электронные письма, используя фасад Laravel Mail с Gmail SMTP на сервере cPanel. Хотя конфигурация отлично работает в моей локальной среде, на сервере я столкнулся с двумя разными проблемами:
  • ошибками тайм-аута при попытке подключения к SMTP-серверу Gmail< /li>
    Ошибки проверки сертификата SSL
Эти проблемы сохраняются, несмотря на успешные тесты SSL и портов. Я подтвердил, что базовое подключение работает:
  • Тесты портов прошли успешно (соединение устанавливается за 71 мс).
  • Тесты OpenSSL показывают успешное согласование TLS.
  • Сервер может подключаться к SMTP-серверам Gmail.
Я пробовал несколько подходов к настройке, включая:

Я пробовал несколько подходов к настройке, включая:

p>
  • Использование обоих протоколов SSL Порты (465) и TLS (587).
  • Различные методы шифрования (SSL/TLS).
  • Различные настройки проверки SSL.
  • Различные хосты SMTP (smtp.gmail.com и smtp-relay.gmail.com)
  • Настройка значений таймаута
  • Различная аутентификация режимы
Каждая попытка приводит либо к тайм-ауту, либо к ошибке проверки сертификата SSL, даже если та же конфигурация работает безупречно в локальной среде.
Среда:
  • Laravel версии 11.34.2
  • PHP 8.2.25
    cPanel сервер
  • Gmail SMTP
Конфигурация работает локально:

Код: Выделить всё

'smtp' => [
'transport' => 'smtp',
'url' => null,
'host' => 'smtp.gmail.com',
'port' => 587,
'encryption' => 'tsl',
'username' => '[email protected]',
'password' => "app-password",
'timeout' => null,
],
Ошибка № 1 — тайм-аут:

Код: Выделить всё

Error sending: SMTP Error: Could not connect to SMTP host.

ИСПОЛЬЗУЕМАЯ конфигурация:

Код: Выделить всё

'smtp' => [
'transport' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 465,
'encryption' => 'ssl',
'username' => '[email protected]',
'password' => 'app-password',
'timeout' => 5,
'stream_options' => [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
]
]
],
Ошибка №2 — сертификат SSL:

Код: Выделить всё

Error sending: SMTP Error: Could not connect to SMTP host.
Connection failed. stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

ИСПОЛЬЗУЕМАЯ конфигурация:

Код: Выделить всё

'smtp' => [
'transport' => 'smtp',
'host' => 'smtp-relay.gmail.com',
'port' => 587,
'encryption' => 'tls',
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => 5,
'auth_mode' => 'PLAIN',
'stream_options' => [
'tcp' => [
'tcp_nodelay' => true,
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
'SNI_enabled' => true,
]
]
],
  • Тесты портов показывают успешные соединения:

Код: Выделить всё

$ time nc -zv -w 5 smtp.gmail.com 465
Connection to smtp.gmail.com 465 port [tcp/submissions] succeeded!
real    0m0.071s
  • Тест OpenSSL показывает успешное согласование TLS:

Код: Выделить всё

$ openssl s_client -connect smtp.gmail.com:465
...
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
...
220-smtp.gmail.com ESMTP ready

  • Проверенные настройки Exim:

Код: Выделить всё

$ sudo exim -bP accept_8bitmime
accept_8bitmime
$ sudo exim -bP smtp_accept_max_nonmail
smtp_accept_max_nonmail = 10
  • Проверил порты SSL (465) и TLS (587).
  • Пробовал разные значения тайм-аута.
  • Подтвержден пароль приложения Gmail и настройки 2FA.
  • Добавлены различные конфигурации SSL/TLS и проверки сертификатов.
  • Проверено. используя smtp-relay.gmail.com
Проверка соединения прошла успешно, но почтовая программа Laravel постоянно терпит неудачу. Быстрое соединение netcat (71 мс) предполагает, что проблема может быть во время установления связи SSL или аутентификации SMTP, но мне не удалось ее решить.
Буду признателен за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ks-locally
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»