(AWS SES / Laravel)-无法与主机smtp.mailtrap.io建立连接

时间:2020-03-07 16:11:32

标签: laravel amazon-web-services smtp amazon-iam amazon-ses

我一直在尝试使用AWS SES在Laravel 7中设置邮件,并正确设置了我的所有凭证并将驱动程序设置为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的完全访问权限,在我的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 :(得分:0)

Laravel 7引入了Multiple Mail Drivers,它改变了邮件配置的工作方式。

如果您查看自己的config/mail.php,则会发现您拥有一个MAIL_MAILER值而不是MAIL_DRIVER。您应该可以将MAIL_DRIVER文件中的MAIL_MAILER更改为.env

MAIL_MAILER=ses

进行更改后,您可能还需要清除配置缓存:

php artisan config:clear

答案 1 :(得分:0)

问题是我的.env由于缓存而没有加载。

仅运行php artisan config:clear即可清除缓存的配置,并使用我的新参数对其进行更新。

我的.env包含以下内容:

MAIL_MAILER=ses
MAIL_FROM_ADDRESS=no-reply@domain.com
MAIL_FROM_NAME="${APP_NAME}"
相关问题