【发布时间】:2021-12-12 04:40:37
【问题描述】:
我正在使用:
- Laravel Jetstream 惯性
- Laravel 8
- 亚马逊简单电子邮件服务(Sendbox)
问题:
我正在尝试为我的应用程序设置密码重置系统。 问题是 Fortify 使用用户的电子邮件地址自动发送密码重置电子邮件(即:如果使用电子邮件 test@example.com 的用户尝试重置密码,Laravel 将尝试从test@example.com)。
由于 Amazon SES 的工作原理,您可以仅从经过验证的身份发送电子邮件。我在 SES 上验证了我的电子邮件地址 (info@openlabvr.com),我可以通过指定 ->from() 在 Laravel 中发送常规电子邮件。这里一切正常。
当然,当 Laravel 尝试使用用户的电子邮件地址发送重置密码电子邮件时,我收到了来自 SES 的错误:
<Code>MessageReje (truncated...) MessageRejected (client): Email address is not verified. The following identities failed the check in region US-WEST-1: test@example.com - <ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/"> <Error> <Type>Sender</Type> <Code>
我尝试过的:
我尝试在我的.env 文件中设置MAIL_FROM_ADDRESS="info@openlabvr.com",并运行php artisan config:clear 和/或php artisan optimize,但没有任何改变。
我还尝试在services.php 文件中设置Source 选项,如下所示:
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'options' => [
'Source' => 'info@openlabvr.com',
],
],
但同样,没有任何改变。
最后,我尝试将用户的电子邮件地址从 test@example.com 更改为 info@openlabvr.com,结果按预期工作。
tldr
如何强制 Fortify 使用 info@openlabvr.com 作为发件人地址来重置我的用户密码?
【问题讨论】:
-
fortify 这样做似乎是一个奇怪的决定。我真的会怀疑从我自己的电子邮件地址发送到我自己的电子邮件地址的电子邮件,说要重置我的密码。
-
我也是这么想的。我试图在 Fortify 文档中查找,但没有找到任何相关信息。我可能还缺少其他东西吗?
标签: php laravel amazon-web-services amazon-ses jetstream