다음과 같이 메일만 보내는 서버가 있습니다.
django/python --> postfix -----> smtp-relay.gmail.com -----> destination
이메일을 받은 Gmail 클라이언트를 열고 세부정보를 확인하면 다음과 같습니다.security: Standard encryption (TLS) Learn more
이제 --> Gmail 대상의 말이 smtp-relay.gmail.com
TLS라고 의심되지만 postfix에서 smtp-relay.gmail.com
.
내 접미사 구성 파일은 다음과 같습니다.
relayhost = smtp-relay.gmail.com:587
그러나 다음과 같이 설정하면:
relayhost = smtp-relay.gmail.com:25
그것은 또한 작동합니다.
django 설정을 다음과 같이 설정하고 EMAIL_USE_TLS = True
이메일을 보내려고 하면 다음과 같은 오류가 발생합니다.
File "/usr/lib/python3.8/smtplib.py", line 755, in starttls
raise SMTPNotSupportedError(
smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.
이로 인해 TLS를 사용하지 않는 것 같지만 확인 방법을 모르겠습니다.
답변1
Received:
수신된 메일의 헤더, 즉 Google이 Postfix 서버에서 첫 번째 Google 서버로 전송되는 메시지를 추적하는 줄을 보고 싶습니다 . 해당 헤더는 프로토콜을 ESMTP로 지정해야 합니다.에스- 두번째)에스보안 채널에 신호를 보냅니다.
Received:
Postfix 서버가 django/python의 메시지 수신을 기록하는 또 다른 헤더가 있지만 해당 제출이 컴퓨터를 떠나지 않는 것이 보장되는 경우( ::1
에서 로의 연결 ::1
) 해당 연결이 전송 보안을 사용하는지 여부는 거의 걱정할 필요가 없습니다. .
이러한 추적 헤더에는 사용된 특정 프로토콜 버전 및 암호에 대한 정보가 추가로 포함되는 것이 일반적입니다(Google은 대부분의 경우 그렇게 하는 것으로 보입니다).
귀하의 메일 서버가 암호화되지 않은 메일을 보내면 안 된다는 것을 알고 계시다면,독점적으로최신 제공업체에 메일을 보내거나 중계하는 중입니다.모두메일을 Google에 보냅니다. smtp_tls_security_level
postfix 구성을 통해 이를 적용하는 것을 고려하세요. 하나의 메시지만 보면 이 특정 인스턴스에서는 모든 것이 작동했음을 알 수 있습니다. 나중에 암호화되지 않은 제출로 자동 대체되는 것을 원하지 않을 수도 있습니다.