現役フリーランスエンジニアが運営するテックメディア。日々の業務で得た知識を発信していきます!

  1. バックエンド
  2. 10912 view

LaravelでMailHogを導入して快適にメール開発をしよう!【Docker】

最終更新日:2018/12/12

はじめに

本記事ではdocker-composeで動作するLaravelにMailHogを導入して快適にメール開発をする方法をご紹介します。

MailHogとは

MailHogとは開発者向けのメールテストのためのツールです。

画面のような美しいダッシュボードでメールの送受信やプレビューなどをテストすることができます。

ソースコード

LaravelにMailHogを導入したサンプルをこちらに用意いたしました!

Laravelプロジェクトのセットアップ

本記事では、こちらをベースに進めていきます。

このプロジェクトの説明は以下の記事にまとめてあります。

すでにプロジェクトがある場合はこの章は飛ばしてください!

以下の手順でサンプルプロジェクトを起動します。

git clone https://github.com/windii-legend/laravel-docker-compose-example.git
cd laravel-docker-compose-example
docker-compose up -d --build
docker-compose exec app bash ./docker/setup.sh

完了したら一度http://localost:8000 を開いてみましょう。

以下の画面が表示されれば成功です!

MailHogの導入

それでは、MailHogを導入していきましょう。MailhogはDockerHubで公式のイメージが提供されています。

docker-compose.yml を開いて以下の記述をします。

mailhog:
    image: mailhog/mailhog
    ports:
      - "1025:1025"
      - "8025:8025"

さらにappのところに以下を追記します。

depends_on:
    - mysql
    - mailhog #追加

これでdockerの設定は終わりです。

次に .envファイルを開いて以下のようにします。

MAIL_DRIVER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=user
MAIL_PASSWORD=password
MAIL_ENCRYPTION=null

これで一度プロジェクトを立ち上げてみましょう。

docker-compose up -d --build

http://localhost:8025でMailHogの画面が立ち上がってるはずです。

メールを送信する

それでは実際にメールを送信してみましょう。

まずMailableクラスを作成します。

docker-compose exec app bash

cd my-laravel-app

php artisan make:mail Test --markdown=emails.test

次にroutes/web.php を以下のようにします。

use Illuminate\Support\Facades\Mail;
use App\Mail\Test;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/test', function () {
    Mail::to('[email protected]')->send(new Test);
    return 'メール送信しました!';
});

この状態でhttp://localhost:8000/testにアクセスしてみましょう。

メールが送られるはずなのでhttp://localhost:8025にアクセスします。

送信されたメールがみられるようになっています!

以上でMailHogの導入は終了です。とても便利なのでぜひ導入してください〜〜。

The following two tabs change content below.
WINDII

WINDII

WINDII(ウィンディ)は、フリーランスエンジニアが運営するテックメディアです。 日々の業務で得た知見を、皆さんに役立つコンテンツにして発信していくので応援よろしくお願いします! また、Slackで無料コミュニティも運営しています。たくさんのエンジニアが参加していて、プログラミングの相談や雑談などをしている楽しいコミュニティなので、興味ある方はぜひお気軽にご参加ください。 Slackコミュニティはこちらから

バックエンドの最近記事

  1. 人気急上昇中のLaravelをはじめよう!【徹底解説】

  2. Laravelの認可を理解して実装してみよう!

  3. Laravelのシーティング(Seeding)機能をマスターしよう!

  4. Laravelのメール確認機能を設定してみよう!

  5. Laravelの認証機能を設定してみよう!

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP