skillup

技術ブログ

サーバー・ネットワーク

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

投稿日:

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にアクセスをすると下記の用にメールの形跡を見ることができます。(実際には送信はされません。)

サンプルコード

https://github.com/umanari145/phptips

参考URL

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

-サーバー・ネットワーク
-,

執筆者:


comment

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

関連記事

no image

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

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

no image

サーバー設定ファイルについて apache

以前から気になっていたサーバーの設定ファイルに関しての疑問について調査。 本日はapacheについて学習しようと思います。 通常のapacheの設定ファイルは[crayon-609fd0536a479 …

no image

SQLインジェクション

セキュリティ関係の知識がぬるいのでちょっとお勉強。 知っていることもあるが復習もかねて勉強を。 Contents1 SQLインジェクションとは?2 被害3 対策4 参考サイト・書籍5 ソース SQLイ …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

SSH鍵認証について+CakePHP2でのセッション切れ

鍵認証の設定をしたのでその際のメモなどを。 Contents1 SSH鍵認証2 CakePHP2セッション切れ SSH鍵認証 サーバーで公開鍵・秘密鍵を作成 サーバーで公開鍵を登録 クライアント側で秘 …