LoginSignup
2
2

More than 3 years have passed since last update.

laravel6 メールキャッチャーを使ったメール送信時にエラーが発生した

Last updated at Posted at 2021-01-14

目的

  • laravel6とメールキャッチャーの組み合わせでメールの送信を実施したところエラーが発生したため解決までの経緯をまとめる

環境

  • ハードウェア環境
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • ソフトウェア環境
項目 情報 備考
PHP バージョン 7.4.11 Homebrewを用いてこちらの方法で導入→Mac HomebrewでPHPをインストールする
Laravel バージョン 6.X commposerを用いてこちらの方法で導入→Mac Laravelの環境構築を行う
MySQLバージョン 8.0.21 for osx10.15 on x86_64 Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする

情報

  • 筆者はDockerなどは使用せずに直接MacにLaravelの環境構築とメールキャッチャーのサーバを立てて検証を行っていた。
  • メールキャッチャーは下記の方法でサーバを立てた。

エラーまでの経緯

  1. laravel6のアプリでメール送信機能を作成した。
  2. アプリからメールを送信した。

エラーの内容

  • 下記のエラーがブラウザ上に表示された。

    Connection could not be established with host 127.0.0.1 :stream_socket_client(): unable to connect to 127.0.0.1:1025 (Connection refused)
    
  • 下記画像ではsmtpのポート番号が1026になっているがこれは解決後、この記事のために意図的にエラーを発生させたため1026となってしまっている。みなさんの環境だと1025と表示されているはず。

    🧨_Connection_could_not_be_established_with_host_127_0_0_1__stream_socket_client____unable_to_connect_to_127_0_0_1_1026__Connection_refused_.png

解決までの経緯

  • 下記コマンドを実行してメールキャッチャーをデフォルト設定で起動し直した。

    $ mailcathcer
    
  • laravelのアプリ名ディレクトリで下記コマンドを実行して設定のキャッシュをリセットした。

    $ php artisan config:cache
    
  • 問題は解決した。

本件でお困りの皆さんへ

  • 筆者の場合メールキャッチャーが起動していなかったことが本件の原因であった。
  • このエラーの場合、メールキャッチャーとlaravelアプリの通信がうまく行ってない状態である。
  • 起動しているメールキャッチャーのsmtpポート、smtpのIPが何になっているのか、また、.envファイルのMAIL_PORTとMAIL_HOSTの記載が間違えていないかを確認しよう。
  • 今起動しているメールキャッチャーの情報がわからなくなってしまったなら$ mailcatcherというコマンドを実行することでデフォルト設定でメールキャッチャーが再度起動する。(デフォルトだとsmtpポートは1025、 smtpのIPは127.0.0.1)
  • .envファイルの記載が正しいようなら$ php artisan config:cacheを実行して設定のキャッシュをクリアしてみよう。
2
2
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
2
2