Laravel 邮件调试/结果

Ena*_*ain 4 php email laravel

如何查看 Laravel 中 Mail::send 或队列方法的结果或错误?我在该方法中使用了 dd() ,但我得到了 0,我假设其中的 0 为 false,表明电子邮件发送失败。有什么方法可以将其置于调试模式,以便我可以看到邮件程序在哪里失败?

Rob*_*ita 5

有许多邮件驱动程序可用于发送电子邮件,因此调试方法也有多种。一种方法是设置:

'driver' => env('MAIL_DRIVER', 'log'),
Run Code Online (Sandbox Code Playgroud)

然后config/mail.php快速测试邮件记录是否适用于:

Mail::raw('Text to e-mail', function($message)
{
  $message->from('user1@your-domain.tld', 'Laravel');
  $message->to('user2@your-domain.tld');
});
Run Code Online (Sandbox Code Playgroud)

然后根据第三方服务和协议,不断迭代。例如,要使用 SES,需要填写以下环境密钥:

MAIL_DRIVER='ses'
SES_KEY='XXX'
SES_SECRET='YYY'
SES_REGION='ZZZ'
Run Code Online (Sandbox Code Playgroud)

.env然后在config/services.php

'ses' => [
    'key' => env('SES_KEY'),
    'secret' => env('SES_SECRET'),
    'region' => env('SES_REGION'),
],
Run Code Online (Sandbox Code Playgroud)

使用上面的代码php artisan tinker并进行测试Mail::raw。另请注意,AWS 要求其 API 通过 HTTPS 连接,否则不会发送电子邮件。