【Laravel】Docker for WindowsでMailHogの実装をしてみた。

はじめに

Dockerの環境構築を頑張ろうと思ったきっかけである以下の教材。

【感想】Laravel(+Vue.js)でSNS風Webサービスを作ろう!を終えて

Dockerの環境構築ができたので、当時できなかったMailHogの実装に挑戦してみました。

※ちなみに以下が死ぬほど格闘したLaradock(+MySQL)の環境構築の備忘録です。

【Laravel】Docker for WindowsでLaradock(+MySQL)に挑戦してみた。

MailHogの実装

以下の記事と上記記載の教材を参考に。

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

MailHogのコンテナを起動。http://localhost:8025/にアクセスするとMailHogが表示される。

$ docker-compose up -d mailhog
WARNING: Image for service mailhog was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating docker_mysql_mailhog_1 ... done

以降、再起動する場合はコマンドが以下になる。

docker-compose up -d workspace nginx php-fpm postgres mailhog

laravel側の.envを編集。

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

Mailableクラスを作成

$ docker-compose exec workspace php artisan make:mail Test --markdown=emails.test
Mail created successfully.

routes/web.phpを編集。

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

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

Route::get('/test', function () {
Mail::to('test@example.com')->send(new Test);
return 'メール送信しました!';
});

http://localhost/testへアクセス。

http://localhost:8025へアクセス。無事確認できました◎

XAMPP環境下では、MailHogの実装ができなかったので嬉しい!!

 

コメントを残す