Docker Hubのイメージを利用してSMTP認証+メール送信のテストを実施

2023-03-27Docker

久々のエントリです

9日間も夏休みをいただき、実家の青森に帰省していました。
奥入瀬、十和田湖、八甲田山、酸ヶ湯・浅虫温泉、海と自然に目いっぱい触れていると永住したくなってきました。

はじめに

新たに利用するSMTPサーバに対して、認証した後メール送信ができるかを検証したかったので、コマンドラインから認証+メール送信してみました。

アプリをインストールしたくなかったので Docker イメージを利用することにしました。

検証環境

$ uname -moi
x86_64 MacBookPro11,4 Darwin

$ docker --version
Docker version 19.03.1, build 74b1e89

準備

docker コマンドが利用できればOKです。

$ which docker
/usr/local/bin/docker

やり方

以下のように「SMTP」認証に関わる情報の作成とメール情報を設定し、 docker コマンドを実行するだけです。

「Docker Hub」上の harobed/docker-heirloom-mailx というイメージを利用させていただき、 mailx コマンドを実行しているだけです。
したがって mailx コマンドをインストールしていればDockerは不要です。

# 情報を設定(適宜変更してください)
SMTP_HOST=smtp.example.com
SMTP_USER=your_user
SMTP_PASS=your_password

MAIL_SUBJECT="This is SUBJECT"
MAIL_BODY="This is BODY"
MAIL_FROM="${SMTP_USER}"
MAIL_TO=anyone@example.com

# 認証+メール送信
echo "${MAIL_BODY}" \
  | docker run -i --rm harobed/docker-heirloom-mailx \
    mailx \
    -v \
    -S smtp-use-starttls \
    -S smtp-auth=login \
    -S ssl-verify=ignore \
    -S smtp="${SMTP_HOST}" \
    -S smtp-auth-user="${SMTP_USER}" \
    -S smtp-auth-password="${SMTP_PASS}" \
    -S from="${MAIL_FROM}" \
    -r "${MAIL_FROM}" \
    -s "${MAIL_SUBJECT}" \
    "${MAIL_TO}"

問題点

自分で解決できなかった問題があります。

メールのタイトル、本文部分に「全角文字」を利用すると文字化けが発生( * に変換)してしまいます。

追って原因と調べるとして、今回は疎通確認目的だったため半角文字で対処しました。

ひとこと

長い夏休みも終わりました。
休みボケがはなく治ってほしい。

ls コマンドがパッと出てこないほどボケていました。

2023-03-27Docker