底辺SE奮闘記

年収300万SEブログ

【PHP7・Laravel5.5】Mail::toが正常に動作しない!仕様を勘違いしていた話

下記コードが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の中の設定を優先

だったのですね。これは盲点でした。