我有很多电子邮件必须发送给网站管理员,这是.env中声明的电子邮件
因此,对于我创建的每个邮件,对于$ this-> to(),我想添加.env中定义的电子邮件,以便万一发生更改,我不必手动处理每个邮件更改它。
所以我只是为了测试目的而尝试了这个
Route::get('send', function(){
Mail::send(new AdminEmail());
})->name('test.email');
Mailable在构造函数中如下所示:
public function __construct()
{
$this->from('no-replya@gmail.com', 'Tester');
$this->to(env("MAIL_USERNAME"), 'Admin');
}
在.env中,我具有以下配置:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=admin@gmail.com
MAIL_PASSWORD=z6c4czc44
MAIL_ENCRYPTION=tls
当我尝试发送电子邮件时,出现以下错误:
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
因此,似乎无法正确访问该变量。
如何从.env文件访问电子邮件?
答案 0 :(得分:0)
尝试使用env("MAIL_USERNAME")
代替config('mail.username')
它首先尝试在.env文件中获取配置变量值,如果在.env文件中找不到该变量值,它将从config/mail.php