ドッカー画像のssmtp

ドッカー画像のssmtp

Dockerイメージでssmtp(sendmail用)を設定しようとしています。

これを行うには、次のDockerfileを作成しました。

FROM php:7.4-apache

# Install paquet requirements
RUN set -ex; \
    # Install required system packages
    apt-get update; \
    apt-get install -qy --no-install-recommends \
            ssmtp \
            mailutils \
    ; \
    # Clean aptitude cache and tmp directory
    apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*;

ご覧のとおり、ssmtpとmailutilsをインストールしました。

私の/etc/ssmtp.confファイルには、標準のメールクライアントを使用して自分のアカウントにログインするために必要なすべての資格情報が含まれています。

[email protected]

mailhub=mail.mydomain.com:587
[email protected]
AuthPass=PASS_HERE

FromLineOverride=YES

UseTLS=YES
#UseSTARTTLS=YES
Debug=YES

hostname=OVERRIDEN_HOSTNAME

何らかの理由でメールが送信されませんでした。私はsendmail次のコマンドを使用してバインドします。

sendmail [email protected]
Subject: aaa
aaa
CTRL+d

エラーが表示されます。

sendmail: Authorization failed (535 Incorrect authentication data)

Debug=YES設定してもsendmailのログは表示されません/var/log

ただし、詳細モードでssmtpコマンドを使用しようとすると、次のログが生成されます。

root@c7e406d765c1:/app# ssmtp -d9 [email protected]
[<-] 220 ****.com ESMTP Exim Fri, 15 Apr 2022 12:25:49 +0200
[->] EHLO ****.com
[<-] 250 HELP
[->] AUTH LOGIN
[<-] 334 VXNl[*** tuncated here ***]
[->] c2Vyd2VyDQ==
[<-] 334 UGFz[*** tuncated here ***]
[<-] 535 Incorrect authentication data
ssmtp: Authorization failed (535 Incorrect authentication data)

これは、設定の同じ資格情報をPHPMailer設定で使用できるため、奇妙です。

何が間違っているのか気になったことはありますか?

みんなありがとうございます!

答え1

まず、コマンドを送信せずにssmtp認証を試みているようです。STARTTLS通常、ポート 587 を使用する場合、着信接続は最初にプレーンテキストを送信し、次に認証が必要になるEHLOSTARTTLS予想されます。

SMTPの場合、STARTTLS-styleを起動せずにポート465(別名)を使用する場合は、通常は直接TLSが必要です。smtps

その行のコメントを解除してみましたかUseSTARTTLS=YES

ssmtpメールサーバーに接続するときにメールサーバーの証明書を確認するには、DockerイメージにパブリックSSL / TLSルート証明書が必要な場合があります。そうしないと、ssmtp暗号化されていない接続に置き換えられ、サーバー側が「暗号化なし、認証なし」のベストプラクティスで構成されていると、認証フェーズ中に失敗する可能性があります。

答え2

私の問題を解決しました。問題はssmtp.confファイルのWindows行の終わりです。

ユーザー名が正しくない理由と、Debugロゴとロゴの変更が尊重されない理由を説明します。UseSTARTTLS

サーバーフローをデバッグする方法を提供した@telcoMに感謝します。

関連情報