도커 이미지의 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을 사용할 때 들어오는 연결은 먼저 일반 텍스트를 보낸 EHLO다음 STARTTLS인증이 필요할 것으로 예상됩니다.

SMTP의 경우 STARTTLS-style 시작 없이 포트 465(일명)를 사용할 때 일반적으로 직접 TLS가 필요합니다.smtps

해당 줄의 주석 처리를 해제해 보셨나요 UseSTARTTLS=YES?

ssmtp메일 서버에 연결할 때 메일 서버의 인증서를 확인하려면 Docker 이미지에 공개 SSL/TLS 루트 인증서가 필요할 수도 있습니다 . 그렇게 하지 않으면 ssmtp암호화되지 않은 연결로 대체될 수도 있으며, 서버 측이 "암호화 없음, 인증 없음" 모범 사례로 구성된 경우 인증 단계 중에 실패할 수 있습니다.

답변2

내 문제를 해결했습니다. 문제는 ssmtp.conf 파일의 Windows 줄 끝입니다.

사용자 이름이 잘못된 이유와 Debug로고 및 로고 변경 사항이 존중되지 않는 이유를 설명합니다.UseSTARTTLS

서버 흐름을 디버그하는 방법을 제공한 @telcoM에게 큰 감사를 드립니다.

관련 정보