自宅サーバーのOSSアプリのメールをMailpitで受信し、Discordへ通知する
自宅サーバーでOSSアプリを動かしていると、ユーザー登録やパスワードリセットなどでメール送信が必要になることがあります。ただ、自宅から直接メールを送るにはSMTPサーバーの用意や送信元ドメインの設定が必要で、意外と手間がかかります。Qiitaで見つけたこの記事は、その悩みをMailpitとDiscordで割り切って解決する方法を紹介していました。
Mailpitはもともとメール送信テスト用のツールで、SMTPサーバーとして使え、テスト用のAPIも備えています。さらにWebhookを設定すると、メールを受信したタイミングで外部のアプリケーションを呼び出せます。記事ではこの機能を使い、受信したメールの内容をDiscordに通知する仕組みを作っています。
構成はDocker ComposeでMailpitとwebhook-handlerの2つのコンテナを動かすだけです。webhook-handlerはFastAPIで書かれたPython製の小さなアプリで、MailpitからのWebhookを受け取り、差出人や宛先を整形してDiscordのWebhookへ送ります。通知にはMailpitのWeb UIへのリンクも付けられ、必要に応じてメールを確認できます。Webhook URLなどの設定は.envファイルに分けてあります。
実際に外へメールを出さなくても、パスワードリセットのメールなどが届いたことをすぐ把握できる点が便利だと思いました。ホームラボでいくつもアプリを立てている人にとって、メールの受け皿を1か所にまとめるのは管理を楽にしてくれそうです。投稿は2026年8月のものです。
出典:Qiita
Mailpitはもともとメール送信テスト用のツールで、SMTPサーバーとして使え、テスト用のAPIも備えています。さらにWebhookを設定すると、メールを受信したタイミングで外部のアプリケーションを呼び出せます。記事ではこの機能を使い、受信したメールの内容をDiscordに通知する仕組みを作っています。
構成はDocker ComposeでMailpitとwebhook-handlerの2つのコンテナを動かすだけです。webhook-handlerはFastAPIで書かれたPython製の小さなアプリで、MailpitからのWebhookを受け取り、差出人や宛先を整形してDiscordのWebhookへ送ります。通知にはMailpitのWeb UIへのリンクも付けられ、必要に応じてメールを確認できます。Webhook URLなどの設定は.envファイルに分けてあります。
実際に外へメールを出さなくても、パスワードリセットのメールなどが届いたことをすぐ把握できる点が便利だと思いました。ホームラボでいくつもアプリを立てている人にとって、メールの受け皿を1か所にまとめるのは管理を楽にしてくれそうです。投稿は2026年8月のものです。
出典:Qiita
コメント 0
最初のコメントをどうぞ。どの言語でも大丈夫です。
ログインしてコメント