Laravelのローカル環境でメールをログに出力する

Laravelのローカル環境でメールをログに出力する

Laravelのローカル環境でメール送信をログにする方法。

Laravelのメールドライバの設定

Laravelの提供するメールドライバは複数あるが、ログ出力する場合は以下のように設定する。

.envファイルの設定

MAIL_DRIVER = log

上記のように設定すれば、Laravelのログファイル上にメール内容が出力されるようになる。

エラーが出る場合

ログ出力に変更したのに、ログに出力されずエラーが出るような場合、以下を確認する。

  • Cannot send message without a sender address
  • Address in mailbox given [] does not comply with RFC 2822, 3.6.2.

上記のようなエラーだった場合、メール送信時に、メールアドレスが設定されていない状態。
メール処理部分のコードを確認して、メールアドレスがちゃんとセットされているかを確認する。

.envファイルやconfig周りに問題ないか、env()関数で取得できなかった場合の初期値は入っているかなど。

設定キャッシュのクリア

コード上、正しくセットされてそうなのに上手くいかない場合は、以下のコマンドで設定キャッシュをクリアする。

$ php artisan config:clear

これで大体いけると思う。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください