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

.env and mail.php files won't update - 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

config/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 一直使用旧电子邮件地址而不是新地址。它忽略了文件更新。

Laravel 邮件

注释掉邮件函数中的发件人地址(如果有的话),那么配置中的值将被自动获取

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

希望对您有所帮助。

听起来您的配置文件正在被缓存,然后 Laravel 正在从缓存中读取它们,这就是您的更新未被反映的原因。

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

php artisan config:clear