先日、Laravelのメール送信の設定、つまり、.envでメールに関わる環境変数の設定をいじっていて、設定が正しいかどうかをテストすることで学んだことを共有です。

メール送信のテストは、メールサーバーが走っている環境下なら以下のようなシェルのコマンドラインで実行できます。

$ echo Hello | mail -s hello test@examle.com

届け先は、test@example.com、件名は、hello、内容は、Helloのメールが届きます。

しかし、Laravelのプロジェクトを通して同様にメールを送るには、Mailのファサードの登場です。tinkerで実行してみましょう。

Psy Shell v0.10.4 (PHP 7.2.16 — cli) by Justin Hileman
>>> Mail::raw('Hello', function($m) { $m->subject('hello')->to('test@example.com'); });
=> null

これでメールが届けば、実際使用するプロジェクトのメール関連の環境設定が正しいということです。便利です。

先ほどのは、テキストメールの送信の確認ですが、HTMLのメールの送信も確認したいです。

以下のように、今度は Mail::htmlのコールとなりました。

Psy Shell v0.10.4 (PHP 7.2.16 — cli) by Justin Hileman
>>> Mail::html('<h1>Hello</h1>', function($m) { $m->subject('hello')->to('test@example.com'); });
=> null

By khino