skillup

技術ブログ

メール

Dockerでのメール送信に関して

投稿日:2021年2月14日 更新日:

Docker内でメール送信したいときなど。

通常であればWebコンテナ用にphp-7.4などのapache(or nginx)だけの最小構成になっていることがほとんどだと思いますので、メール送信ができないかと思います。

かといってCentOSなどを入れるのはDockerの用途に適していないため、Dockerでメール送信ができるコンテナについて色々と探したところ、mailHogというツールが有用なようです。

特徴としては

  • 実際にはメールを送らず、ローカル内の閉じた環境で確認ができる
  • 送信したメールをGUIツールでブラウザから確認できる(Mailtrapに似ている。)

のような感じです。

構成

Dockerfile

PHPのコンテナの中に以下の2行を追加すればOKです。

docker-compose.yml

あとはPHPコンテナの中に入って
mb_send_mail〜 など普通のメール送信のプログラムを実行すればOKです。

http://localhost:8025にアクセスをすると下記の用にメールの形跡を見ることができます。(実際には送信はされません。)

サンプルコード

参考URL

開発環境でのメール確認用にMailHogを利用する(Docker利用)

-メール
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Swift_Mailer(PHPのメール送信。Laravelに入っているライブラリ)

Laravelでメールを送信することがあったんですが使っていたライブラリがSwift_Mailerだったので、ここにメモ。 Swift Mailerのインストール&メールを送信する 今回最初 …

no image

メールパーサー(mailparseとphp-mime-mail-parser)に関して

以前、POP3を使ったメール受信というエントリーでメールパーサーをインストールしたんですが、他のライブラリをインストールする機会があったんでメモ。 https://github.com/php-mim …

no image

PHPMailerに関して(PHPのメール送信)

PHPのMailライブラリに関して。 今までmb_send_mailとかで誤魔化してましたが、以下のようにライブラリで送るケースのサンプル。 https://github.com/umanari145 …

no image

メールを受信してプログラムを起動させる

今年の初めごろにやったプログラムです。 かなり汎用的なのと、使えそうなのでメモしときます。 題の通り、メールを受信して、それをトリガーにしてなんらかのプログラムを起動させます。 ここではPHPで、ある …

no image

Amazon SESについて(Route53登録→SESで受信→S3で保存)

本日はAWSのSESのメモ。 2019年はJavaScriptとAWSを勉強する、と心に決め、JavaScriptの方は色々勉強しましたが、AWSの方が手付かずでした。 インフラ系はここ2年ぐらい進歩 …

アーカイブ