Laravel忘记密码电子邮件未被发送

时间:2017-01-16 09:57:27

标签: laravel email laravel-5 laravel-5.2

我在Laravel电子邮件中遇到了一个非常奇怪的问题。

一般来说,我可以像这样发送电子邮件:

Mail::send('foo', $templateData,
    function (Message $message) use ($name, $email) {
        $message
            ->from('admin@example.com', 'My Example Company')
            ->to($email, $name)
            ->subject('Blah');
    }
);

但是,在尝试重置密码时,我的生产服务器上不会发送电子邮件,尽管它已经发送过(即没有例外!)。但是在使用mailtrap.io时会发送。

这是我的.env文件的样子:

APP_ENV=prod
APP_KEY=XXXX
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://example.co.uk

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=XXX
DB_USERNAME=XXX
DB_PASSWORD=XXX

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=XXX
MAIL_PORT=XXX
MAIL_USERNAME=XXX
MAIL_PASSWORD=XXX
MAIL_ENCRYPTION=ssl
MAIL_FROM=admin@example.com
MAIL_FROM_NAME="My Example Company"

GOOGLE_API_KEY=XXX

我也尝试过:

 composer dump-autoload
 php artisan clear-compiled
 php artisan config:clear

但无济于事。

有趣的是,当我使用Mailer而不是Mail外观时,再次发送电子邮件时没有例外。

public function foo(Illuminate\Mail\Mailer $mailer)
{
    $mailer->send('ViewName', [],
        function (Message $message) {
            $message
                ->from('admin@example.com', 'My Example Company')
                ->to('you@example.com', 'John Smith')
                ->subject('Blah');
        }
    );
}

0 个答案:

没有答案