如何通过控制器访问我的 .env 电子邮件变量



我有很多电子邮件必须发送给网站的管理员,即在 .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 文件访问电子邮件?

与其尝试env("MAIL_USERNAME")config('mail.username')

它首先尝试在 .env 文件中获取配置变量值,如果在 .env 文件中找不到变量值,它将从config/mail.php

相关内容

最新更新