下記コードがhogehoge@test.comに届かずfugafuga@test.comに届いてしまう問題に遭遇。
原因はLaravelのメールの設定の挙動を勘違いしていたこと。
<?php use Illuminate\Support\Facades\Mail; Mail::to('hogehoge@test.com')->send($mailInstance);
環境
- PHP 7.1.21
- laravel/framework 5.5
原因
config/mail.phpの65行目付近に下記のように設定していたことを発見。
<?php 'to' => [ 'address' => 'fugafuga@test.com' 'name' => 'ふがふが' ]
私の想定では、
Mail::toが設定されていないならばfugafuga@test.comに送信
という挙動だったのですが、実際の挙動は
Mail::toに設定されていようがmail.phpの中の設定を優先
だったのですね。これは盲点でした。