LoginSignup
0
3

More than 1 year has passed since last update.

Dockerを用いたローカルPostfixサーバー構築方法 メモ

Posted at
  • ローカル環境でメール通知系のテストをするためにメールサーバー(Postfix)を構築したかったので、Dockerを用いたその構築方法をメモする。

Postfixとは

  • オープンソースのメール転送エージェント(Mail Transfer Agent、MTA)ソフトウェア。
  • MTA間のメール送信/受信を行う。

メールサーバーコンテナ起動方法

  • こちらのイメージを利用させていただく。
  • Dockerコマンド
docker run -d -p 25:25  --name testmailserver -e maildomain=example.com -e smtp_user=username:password catatnight/postfix
  • ユーザー認証設定を複数指定する場合

    • -e smtp_user=user1:pwd1,user2:pwd2,...,userN:pwdNのように指定する。
  • Open DKIM (Domainkeys Identified Mail) を有効化する場合

    • なりすましやメール改竄を検知するための電子署名方式の送信ドメイン認証。
    • -v /path/to/domainkeys:/etc/opendkim/domainkeysのように指定する。
      • 鍵ファイル(.private)を/etc/opendkim/domainkeysへマウントする。
  • TLSを有効化する場合

    • -v /path/to/certs:/etc/postfix/certsのように指定する。
      • 鍵ファイル(.key)と証明書(.crt)を/etc/postfix/certsへマウントする。

動作確認

  • コンテナ起動状態確認
  docker ps
  CONTAINER ID   IMAGE                         COMMAND                  CREATED                  STATUS          PORTS
         NAMES
  df86879c9e0c   catatnight/postfix            "/bin/sh -c '/opt/in…"   Less than a second ago   Up 3 seconds    0.0.0.0:25->25/tcp
         testmailserver
  • 接続確認

    • 自身の環境がWindowsのため、telnetを有効化する。
    • クイックアクセスメニューから[アプリと機能]を実行し、[プログラムと機能]のリンクをクリックし、[Windowsの機能の有効かまたは無効化]を実行する。
    • 追加機能の一覧画面から[Telnetクライアント]項目を選んで追加する。
    • 次のコマンドを実行する。
  telnet localhost smtp

  220 example.com ESMTP Postfix (Ubuntu)

次はアプリとつなぐところまで試したい。

参考情報

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3