给定[xxxxx]的邮箱中的地址不符合RFC 2822、3.6.2

时间:2019-04-17 10:55:24

标签: php laravel email

在执行此操作后:

Mail::send('mails.password', ['name' => $request->name, 'password' => $password], 
    function ($message) use ($request) {
        $message->from(getenv('MAIL_USERNAME'), 'Biofeedback');
        $message->to($request->email);
    }
);

我的代码抛出错误。我使用的是邮件陷阱,一周前就可以使用。

我的.env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=very_secret
MAIL_PASSWORD=very_secret
MAIL_ENCRYPTION=null

我得到一个错误,即

  

给定[xxxxx]的邮箱中的地址不符合RFC 2822,3.6.2。

那是为什么?

1 个答案:

答案 0 :(得分:1)

我认为问题出在这里:

$message->from(getenv('MAIL_USERNAME'), 'Biofeedback');

您正在从.env文件中获得MAIL_USERNAME值。对于邮件陷阱,这是一堆字母和数字。错误是指您提供的电子邮件地址不符合RFC标准。邮件陷阱SMTP用户名将不符合标准。

尝试将行更改为有效的电子邮件,然后查看是否可以解决问题。看起来可能像这样:

$message->from('john@example.com', 'Biofeedback');

然后,您始终可以将其存储为单独的环境变量,例如FROM_EMAIL,并像以前一样引用它。

还请确保$request->email是有效的电子邮件地址。