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

CentOS7の基本に関して

以前も学習しようとしましたが、CentOSの基礎について。 Contents1 デーモン2 ポートの割り当て3 systemdの役割 デーモン Linux上で動くサービスを提供をするプログラムのこと。 …

no image

ファイルアップロード・ダウンロードに関するシェルスクリプト

ファイルのアップロードやダウンロードに関するシェルスクリプトなんぞを。 地味ですが、以外に登場頻度は高いかと。 Contents1 FTP1.1 ダウンロード1.2 アップロード2 SCP2.1 アッ …

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

no image

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

Firebaseでのミニアプリデプロイ

KVS的なDBを使うかもしれず、firebaseの復習をしております。以前、firebaseのサンプルなどちょこちょこ動かしましたが、firebaseに登録をしただけでデプロイまではしておりませんでし …