Office365의 Postfix 오류: TLS 라이브러리 문제 - 잘못된 버전 번호

Office365의 Postfix 오류: TLS 라이브러리 문제 - 잘못된 버전 번호

SMTP 서버로 Office365로 마이그레이션한 이후 (현재 실행 중인) Debian 10 postfix 구성을 재구성하려고 합니다. postfix 메일 구성은 서버 자체에서 생성된 메일(logcheck 메일 등)을 보내는 데에만 사용됩니다.

내가 해야 할 유일한 변경 사항은 relayhost설정을
다음에서 다음으로 변경하는 것이었습니다 relayhost = some.mail.provider:465
.relayhost = smtp.office365.com:587

질문:

그러나 이것은 작동하지 않습니다. /var/log/syslog내가 받기 전에

Sep 21 15:03:30 pasteur postfix/smtp[16877]: SSL_connect error to smtp.office365.com[40.101.137.34]:587: -1
Sep 21 15:03:30 pasteur postfix/smtp[16877]: warning: TLS library problem: error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:332:
Sep 21 15:03:30 pasteur postfix/smtp[16877]: EC2809EF92: Cannot start TLS: handshake failure

질문: 혹시 해결책 아시는 분 계신가요?

/etc/postfix/main.cf에서 다양한 postfix 설정을 시도했지만 작동하지 않습니다. 예를 들어 smtp_tls_security_level = encrypt다음으로 변경하면 ... = may다음과 같은 syslog 항목이 생성됩니다. smtp_tls_wrappermode requires "smtp_tls_security_level = encrypt" (or stronger)

내 접미사 설정은 /etc/postfix/main.cf다음과 같습니다

# Ansible managed

smtpd_banner = $myhostname ESMTP $mail_name
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html
# default to 2 on fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# Enable SASL authentication
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:<someuser>:************
smtp_sasl_security_options = noanonymous
smtp_tls_wrappermode = yes
smtp_use_tls = yes
smtp_tls_security_level = encrypt

# General
myhostname = pasteur.<ourdomain>.com
myorigin = /etc/mailname
mydestination = $myhostname localhost.$mydomain localhost pasteur
mynetworks = "127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128"
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
relayhost = smtp.office365.com:587

답변1

이제 Microsoft에서 설명한 "직접 보내기" 방법을 사용하여 문제를 회피했습니다. https://docs.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using- Microsoft-365-또는-office-365

relayhost이는 설정(URL 및 포트)과 일부 TLS 설정을 변경해야 함을 의미합니다.

답변2

암호화 계층은 포트 465 및 587과 다릅니다.

  • 포트 465는 SSL을 사용한 통신을 예상합니다.
  • STARTTLS포트 587은 세션 초기 단계에서 명령을 사용하여 일반 텍스트로 초기 통신을 기대합니다.

나는 해결책이 변화라고 믿는다

smtp_tls_security_level = may

관련 정보