メールホスト名の証明書不一致によりsidekiqキューが過負荷、深刻なサイト不安定化が発生

Discourse Docker コンテナ内から curl を使用してメッセージを送信しようとしました。プレーンテキスト SMTP とポート 25 を指定すると、ホスト経由でメールを正常に送信できます。

$ cd /var/discourse/
$ sudo ./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# curl smtp://172.17.0.1 --mail-from discourse@mydomain.com --mail-rcpt myname@gmail.com --upload-file README.md
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7077    0     0  100  7077      0   575k --:--:-- --:--:-- --:--:--  575k
root@discourse-app:/var/www/discourse#

そして、ホストのメールログでこのテストがどのように表示されたかを示します。

May 24 16:53:49 localhost postfix/smtpd[25494]: connect from discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/smtpd[25494]: EB62CB5FCD: client=discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/cleanup[26008]: EB62CB5FCD: message-id=<>
May 24 16:53:49 localhost opendkim[1365]: EB62CB5FCD: can't determine message sender; accepting
May 24 16:53:49 localhost postfix/smtpd[25494]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

app.yml で TLS とポート 25 を指定していないこと、そしてこれが昨日の再構築まで機能していたことを考えると、最新の Discourse が app.yml の SMTP 設定を無視している可能性が高いと思われます。

「いいね!」 2