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

Route53でのドメイン取得&メール送信に関して

以前、Route53でドメイン取得、メールの送受信などをメモしましたが、Route53でのドメイン登録→メール送信に関してもう一度記しておこうと思います。 Amazon SESについて(Route53 …

no image

メールの文字化け対策

メールの文字コードに関して、色々ごまかしながらやってましたが真面目に取り組む必要があり、ここでメモ。 Contents1 前提条件2 ヘッダー部分3 メール本文3.1 Content-Transfer …

no image

Mailtrap テスト環境でメール送信を試したい時に使えるサービス

メールが絡んだ時のテストって難しいですよね・・・ ここだけは本番化した時に、1、2度お客さんに連絡して仕方なく本番でテスト・・・なんてことをやっておりましたが、つい最近、メールのテストが気軽にできるサ …

no image

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

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

no image

Amazon SESでのメール送信

前回、AWSでのメール受信についてかいたので今回はメール送信に関して。 送信の場合、下記のような流れになります。 Contents1 Route53でドメイン登録し、MXレコードを登録している場合2 …

アーカイブ