Laravel Mail:队列无法从环境中获取价值

时间:2019-03-08 05:43:55

标签: laravel email

  

发送电子邮件时未获取环境MAIL_HOST的价值

请描述为什么会发生这种情况?

 try {
     Mail::to([
         [
             'email' => 'abcdef@gmail.com',
             'name'  => 'ABCD',
         ],
     ])->queue(new SendHTMLEmail([
             'subject' => "For A Purpose",
             'body'    => '',
     ]));
 } catch (\Exception $e) { }

2 个答案:

答案 0 :(得分:1)

使用队列工作器时,请确保在更新应用程序配置(包括{.env)时执行以下两项操作:

  1. 重新启动队列工作器。代码更改以及配置更改仅在重新启动时由队列工作器接收。

  2. 如果您正在生产中运行,或者由于某些其他原因而缓存了配置(使用php artisan config:cache),那么还必须使用相同的命令重新缓存配置< em>重新启动队列工作器之前。

答案 1 :(得分:0)

这应该在您的.env中可用

MAIL_DRIVER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=

config / mail.php

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),

这两个文件确保您输入了证书。