.env和mail.php文件不会更新 - Laravel 5.1

时间:2015-11-11 07:02:16

标签: php xampp laravel-5.1

几个月前我开始了一个项目并将配置设置为发送邮件,一切都很好。但现在我想更改发件人的电子邮件地址,所以我更改了.env和mail.php文件中的配置,但laravel只是忽略了更新(仍使用旧配置发送邮件)。我清除了缓存并重新启动了所有内容,我甚至删除了这些文件,并且laravel不断发送带有已删除文件配置的电子邮件。我该怎么办?

.ENV:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=someaddress@gmail.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=null

配置/ mail.php:

return [

    'driver' => 'smtp',
    'host' => 'smtp.gmail.com',
    'port' => 587,
    'from' => ['address' => 'someaddress@gmail.com', 'name' => 'Some Name'],
    'encryption' => 'tls',
    'username' => 'someaddress@gmail.com',
    'password' => '******',
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,

];

控制器:

Mail::send('emails.devolucion', ['datos' => $diet], function ($message) use ($diet){
        $message->to($diet['correo'], $diet['nombre'])->subject('Devolución');
});

我曾经有另一个地址而不是" someaddress@gmail.com" ;,并且laravel继续使用旧的电子邮件地址而不是新的地址。它忽略了文件更新。

2 个答案:

答案 0 :(得分:1)

听起来你的配置文件正在被缓存,然后Laravel会从缓存中读取它们,这就是为什么你的更新没有得到反映。

我们可以告诉Laravel清除缓存并使用此命令重新开始:

php artisan config:clear

答案 1 :(得分:0)

Laravel Mail

注释掉邮件功能中的发件人地址(如果有的话),然后自动获取配置中的值

Mail::send('emails.newuser', $mailData,
  function( $message) {
  //$message->from('feedback@example.com', 'No Reply');
  $message->to('user@example.com');
  $message->subject('Mail Subject');
});

希望这有用。