在执行此操作后:
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。
那是为什么?
答案 0 :(得分:1)
我认为问题出在这里:
$message->from(getenv('MAIL_USERNAME'), 'Biofeedback');
您正在从.env文件中获得MAIL_USERNAME
值。对于邮件陷阱,这是一堆字母和数字。错误是指您提供的电子邮件地址不符合RFC标准。邮件陷阱SMTP用户名将不符合标准。
尝试将行更改为有效的电子邮件,然后查看是否可以解决问题。看起来可能像这样:
$message->from('john@example.com', 'Biofeedback');
然后,您始终可以将其存储为单独的环境变量,例如FROM_EMAIL
,并像以前一样引用它。
还请确保$request->email
是有效的电子邮件地址。