Dockerコンテナ内でSMTP送信をしたい状況があったので、mailhogを利用して試した。
ほぼ、こちら↑の記事を参考にさせていただきました
変更した点
- Dockerfileのイメージを
almalinux
へ変更
centos8ではEOLが過ぎてパッケージ取得でエラーが出たため - docker-compose.ymlに
privileged: true
を追加
cap-addでも起動は出来たが、エラーが出てたため
送信テスト
- 起動完了したら、Dockerコンテナ内にて25番ポートでpostfixで送信できるか確認。
- relayhostでmaihogの1025番が使われてるので、実際の宛先に送信されるわけではないので安心
- ホスト側だとそのまま1025番ポートで送信できる
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 0d95f56f386c.example.com ESMTP Postfix
mail from: <[email protected]>
250 2.1.0 Ok
rcpt to: <[email protected]>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject: mail testing
it is testing
.
250 2.0.0 Ok: queued as 367DF26008A
Dockerコンテナから抜け、ホスト側のブラウザにて、http://localhost:8025
へアクセスし、メールが届いていればOK