微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

预期响应代码 250,但得到代码“554”,消息为“554 消息被拒绝 | Laravel 使用 TO 电子邮件

如何解决预期响应代码 250,但得到代码“554”,消息为“554 消息被拒绝 | Laravel 使用 TO 电子邮件


问题陈述:

我在 TO 电子邮件中收到 FROM 电子邮件,这当然不会在 {{ 的 Amazon SES 中进行验证1}} POST


说明:

to@example2.com 将通过电子邮件询问密码重置链接。一般from@example1.com 会发送密码重置链接。但是,就我而言,to@example2.com 正在尝试向自己发送密码重置链接

在 Amazon SES 中,我们需要验证电子邮件才能通过 SES 服务发送邮件。所以我已经验证了 from@example1.com

注意:两个域是不同的 password/emailexample1.comexample2.com 在 Amazon SES 上设置。


例外:

Swift_TransportException (554)

预期响应代码为 250,但得到代码“554”,消息为“554 消息被拒绝:电子邮件地址未验证。以下身份在区域 REGION 中未通过检查:to@example2.com”


配置:

example1.com
$ PHP artisan route:list

+--------+----------+-----------------------------------------------+------------------------------------+-------------------------------------------------------------------------------+-------------------------------------------------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+----------+-----------------------------------------------+------------------------------------+-------------------------------------------------------------------------------+-------------------------------------------------------+ | | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web |

App\Http\Controllers\Auth\ForgotPasswordController.PHP

namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\SendsPasswordResetEmails; class ForgotPasswordController extends Controller { use SendsPasswordResetEmails;

vendor\laravel\ui\auth-backend\SendsPasswordResetEmails.PHP

namespace Illuminate\Foundation\Auth; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Password; use Illuminate\Validation\ValidationException; trait SendsPasswordResetEmails { public function sendResetLinkEmail(Request $request) { $this->validateEmail($request); $response = $this->broker()->sendResetLink( $this->credentials($request) ); return $response == Password::RESET_LINK_SENT ? $this->sendResetLinkResponse($request,$response) : $this->sendResetLinkFailedResponse($request,$response); }

vendor\laravel\framework\src\illuminate\Auth\Passwords\Passwordbroker.PHP

namespace Illuminate\Auth\Passwords; use Closure; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; use Illuminate\Contracts\Auth\Passwordbroker as PasswordbrokerContract; use Illuminate\Contracts\Auth\UserProvider; use Illuminate\Support\Arr; use UnexpectedValueException; class Passwordbroker implements PasswordbrokerContract { public function sendResetLink(array $credentials,Closure $callback = null) { $user = $this->getUser($credentials); if (is_null($user)) { return static::INVALID_USER; } if ($this->tokens->recentlyCreatedToken($user)) { return static::RESET_THRottLED; } $token = $this->tokens->create($user); if ($callback) { $callback($user,$token); } else { $user->sendPasswordResetNotification($token); } return static::RESET_LINK_SENT;

.env

解决方法

在我看来,您的 AWS 邮件服务或 Laravel 设置不正确

https://aws.amazon.com/premiumsupport/knowledge-center/ses-554-400-message-rejected-error/

您可以尝试使用开箱即用的 mailtrap.io 来测试内容。

当应该发送电子邮件的服务器拒绝它时,通常会引发这种异常。通常是 SMTP 或 AWS SES 的情况。您还可能尝试通过 SMTP 使用 Outlook 帐户发送邮件,而安全策略不允许您发送邮件。

但是,如果我猜对了,您希望像人们自己发送电子邮件一样发送电子邮件。这是不可能的,因为您无法验证所有电子邮件。 *@*

作为解决方案,您可以使用 reply-to 选项,或者如果您不希望用户能够回复,则使用 no-reply 作为发件人。

如果您不是尝试以 to@ 的身份发送邮件,而是尝试以 from@ 的身份发送邮件,请确保在 env 中正确设置了 MAIL_FROM_EMAIL。

电子邮件不应在未加密的情况下发送

要使用的电子邮件端口:

Protocol    Security Setting    Port Number(s)
SMTP (sending mail)     Encrypted - TLS/STARTTLS    465
SMTP (sending mail)     Encrypted - SSL             465
SMTP (sending mail)     Unencrypted                 25* (or 26)

POP3 (receiving mail)   Encrypted - TLS             995
POP3 (receiving mail)   Encrypted - SSL             995
POP3 (receiving mail)   Unencrypted                 110
IMAP (receiving mail)   Encrypted - TLS             993
IMAP (receiving mail)   Encrypted - SSL             993
IMAP (receiving mail)   Unencrypted                 143

https://billing.precedence.com.au/billing/knowledgebase/70/Mail-Ports-for-POP3-IMAP-and-SMTP.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。