(AWS SES / Laravel) - Не удалось установить соединение с хостом smtp.mailtrap.io - PullRequest
0 голосов
/ 07 марта 2020

Я пытался настроить почтовое сообщение в Laravel 7 с помощью AWS SES, правильно настроил все свои учетные данные и настроил драйверы на SES.

При попытке отправить я получаю следующую ошибку подтверждение по электронной почте со встроенной функциональностью по умолчанию.

Не удалось установить соединение с хостом smtp.mailtrap.io: stream_socket_client (): невозможно подключиться к tcp: //smtp.mailtrap.io: 2465 (Тайм-аут операции)

.env

MAIL_DRIVER=ses
MAIL_FROM_ADDRESS=no-reply@taxsion.com
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=HIDDEN
AWS_SECRET_ACCESS_KEY=HIDDEN
AWS_DEFAULT_REGION=us-east-1

Я убедился, что ключ и секрет AWS имеют полный доступ к SES, в my config/services.php Я настраиваю его на использование этих учетных данных.

'ses' => [
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
]

Я искал многочисленные "решения" и пытался создать отдельного пользователя для SES только без удачи.

Любая помощь будет отличной, спасибо!

Ответы [ 2 ]

0 голосов
/ 07 марта 2020

Проблема заключалась в том, что мой .env не загружался из-за кэширования.

Просто запущенный php artisan config:clear очистил кэшированный конфиг и обновил его с моими новыми параметрами.

Мой .env содержит следующее:

MAIL_MAILER=ses
MAIL_FROM_ADDRESS=no-reply@domain.com
MAIL_FROM_NAME="${APP_NAME}"
0 голосов
/ 07 марта 2020

Laravel 7 представил Несколько драйверов почты , которые изменили работу почтовой конфигурации.

Если вы посмотрите на config/mail.php, вы заметите, что у вас есть MAIL_MAILER значение вместо MAIL_DRIVER. Вы можете просто изменить MAIL_DRIVER на MAIL_MAILER в своем файле .env:

MAIL_MAILER=ses

Возможно, вам также понадобится очистить кеш конфигурации после внесения изменений:

php artisan config:clear
...