LoginSignup
42
37

More than 3 years have passed since last update.

【Laravel】メール送信失敗時のログを残す

Posted at

Laravel で複数のメールアドレスへの送信処理を書いた時、メール送信が失敗したアドレスの一覧を取得したかったが、ドキュメントには載っていなかったのでメモとして残しておく。

環境

Laravel 6.X

やり方

Mail::failures() で送信失敗メールアドレスが配列で取得できる。(参考
例えば、Mailable クラスの設定後、送信処理をコントローラに書く場合、下記のような感じ。

MailSendController.php
namespace App\Http\Controllers;

use App\Mail\SampleMailableClass;
use Illuminate\Support\Facades\Mail;
use Illuminate\Http\Request;
use Log;

class MailSendController extends Controller
{
    public function send()
    {
        $emails = ['hoge@example.com', 'huga@example.com']
        Mail::to($emails)->send(new SampleMailableClass());
        if (count(Mail::failures()) > 0) {
            Log::channel('slack')->warning(Mail::failures());
        };
    }
}

Slack へのログ投稿の方法は こちらの記事 に詳しく書かれていました。

参考

42
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
37