ローカル開発でのメールの確認用にmailCather
を長らく使っていたのですが、
メールを大量に送信すると画面が表示されるまでに時間がかかるようになったりとだんだん不便さを感じるようになりました。
色々検索したところ、MailPit
が良さそうだったので使ったところ、今のところ快適です。
準備
docker-composeを使っているので、
以下のように設定します。
services:
:
(省略)
:
mail:
image: axllent/mailpit
ports:
- '8025:8025'
- '1025:1025'
environment:
- MP_DATA_FILE=/data/mailpit.db # メールの内容をディスクに保存する場合のパス指定
volumes:
- mp-data-file:/data # 永続化する
volumes:
mp-data-file:
初期設定ではメールの内容をインメモリに保存するようなので、メールの内容を永続化したい場合は上記のように設定するとよいようです。
このあたり、本家のドキュメントが充実していて助かりました。
使用感
ページングされるのでメールが増えてmailCatcherのように重たくならないです。
ただ、メールを開くと一覧に戻らないと他のメールが読めないのが少し残念です。(次と前のメールだったら移動ボタンがあります)
Shiftを押しながら複数選択をして一括削除などができるのですが、gmailみたいにチェックボックスなどはついていないので少し分かりにくかと思いました。
メールにタグ付けができるんですが、これは一括でできないので複数メールにタグを付ける場合は開いてはタグ付けを繰り返す必要があります。
欠点ばかり上げていますが、上記以外はほぼ期待通りの動きをしているので、乗り換えたことで見やすくなり快適になりました。
他ツールの比較
Mailpitに決定する際に他のツールを見てみました。
MailHog
Mailpitの前身らしく、UIもほぼ同じでした。
最初こちらを検討していたのですが、ISO-2022-JPに対応しておらず、
対応させるための方法もあったのですが、わざわざイメージ作成するのも手間だったので保留としてました。
おそらくMailpitに出会わなかったら使っていたかと思います。
MailDev
こちらもUIが非常に似ているのですが、同じくISO-2022-JPに対応しておらず。
同様に対応させるイメージを作成する方法はあるようです。
greenmail
こちらはよりメールの機能を再現したもので、
画面ではなく実際のメールサーバーのように問い合わせしてメールを確認できるようです。
メーラーでの表示確認に使えたりしますが、メールを一括で確認出来なかったりなので断念しました。