2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DockerでのMailpit導入例(Laravel開発環境)

Last updated at Posted at 2025-08-08

Mailpitは、開発環境で送信されるメールをブラウザで確認できる便利ツールです。

MAMPなどローカル環境では brew install で入れることが多いですが、Docker環境では専用コンテナを追加して動かします。

✅ 1:docker-compose.yml にMailpitサービスを追加

Laravel + MySQL構成にMailpitを追加する例です。

version: '3.8'

services:
  app:
    build:
      context: .
      dockerfile: docker/php/Dockerfile
    container_name: task-reminder-app
    volumes:
      - ./src:/var/www/html
      - ./docker/apache/default.conf:/etc/apache2/sites-available/000-default.conf
    ports:
      - "8080:80"
    depends_on:
      - db

  db:
    image: mariadb:10.5
    container_name: task-reminder-db
    volumes:
      - dbdata_task_reminder:/var/lib/mysql
      - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: task_reminder
      MYSQL_USER: laravel_user
      MYSQL_PASSWORD: password123
      
    ports:
      - "3307:3306" # portsは被らないように注意

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    platform: linux/amd64
    container_name: task-reminder-phpmyadmin
    ports:
      - "8081:80"
    environment:
      PMA_HOST: db
      PMA_USER: laravel_user
      PMA_PASSWORD: password123
    depends_on:
      - db

  mailpit: # ★ Mailpitサービス追加
    image: axllent/mailpit
    container_name: task-reminder-mailpit
    ports:
      - "8025:8025"   # Web UI
      - "1025:1025"   # SMTP

volumes:
  dbdata_task_reminder:

✅ 2:.env をMailpit用に設定

Laravelのメール設定を、Mailpitコンテナに合わせて変更します。

.env
MAIL_MAILER=smtp
MAIL_HOST=mailpit # サービス名
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

⚠️ 注意
MAMPなどローカル実行なら MAIL_HOST=127.0.0.1 になりますが、Dockerではサービス名(ここでは mailpit)を指定します。

✅ 3:再起動

docker compose down # down でコンテナを停止・削除
docker compose up -d # up -d で再起動(ビルドは不要)

✅ 4:確認

http://localhost:8025

を開くと、MailpitのWeb UIが表示され、Laravelから送信されたメールが一覧で確認できます。

関連

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?