Postfix 및 TLS가 올바르게 구성되었지만 Thunderbird가 SMTP 및 STARTTLS를 통해 이메일을 보내려고 할 때 알 수 없는 오류가 발생합니까?

Postfix 및 TLS가 올바르게 구성되었지만 Thunderbird가 SMTP 및 STARTTLS를 통해 이메일을 보내려고 할 때 알 수 없는 오류가 발생합니까?

저는 최근 처음으로 CentOS 5.5와 Postfix를 설치했습니다.

나는 SMTP 서버에서 TLS를 활성화하도록 되어 있는 2개의 다른 튜토리얼을 따랐습니다. 둘 다 나에게 키와 인증서를 생성하고, 구성을 편집하고, 텔넷을 통해 연결하여 서버를 테스트하라고 지시했습니다.

모든 것이 제대로 작동하는 것처럼 보입니다. 텔넷으로 연결하면 서버에서 STARTTLS로 연결할 수 있다고 광고합니다. 포트 25와 465 모두에 대해 방화벽을 열었습니다. SELinux가 비활성화되었습니다(방해가 되었는지 여부는 확실하지 않습니다).

Thunderbird에서 STARTTLS를 활성화한 상태로 이메일을 보내려고 하면 다음 오류가 나타납니다:

메일 전송 중 오류가 발생했습니다. 메일 서버가 잘못된 인사말을 보냈습니다. SMTP 서버 192.168.0.9(192.168.0.9:465)에 연결할 수 없습니다. 연결 오류 10061입니다.

확인을 누르면 별로 도움이 되지 않는 또 다른 메시지가 나타납니다.

메시지 전송에 실패했습니다. 트랜잭션 도중에 SMTP 서버 cinc.centos에 대한 연결이 끊어져서 메시지를 보낼 수 없습니다. 다시 시도하거나 네트워크 관리자에게 문의하세요.

나는 지금 하루 중 가장 좋은 부분을 검색하고 구성 시간을 조작했습니다. 그리고 나는 그것을 고치는 데 전혀 가까워지지 않았습니다. 오류 메시지나 오류 코드만 인터넷 검색해 보았지만 도움이 되는 내용을 찾지 못했습니다.

하지만.. TLS 암호화 없이도 SMTP 서버는 완벽하게 작동합니다! 따라서 오류는 암호화와 관련된 것이므로 오류 메시지에 포트 465가 언급되는 이유는 무엇입니까?

도움이 될 수 있도록 TLS 부분을 게시했습니다.main.cf:

smtp_tls_note_starttls_offer = 예
smtpd_tls_received_header = 예
smtpd_sasl_local_domain = cinc.centos
smtpd_sasl_auth_enable = 예
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = 예 smtpd_recipient_restrictions = allowed_sasl_auth enticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_security_level = 가능
smtpd_tls_key_file = /etc/pki/tls/private/cinc.centos.key
smtpd_tls_cert_file = /etc /pki/tls/certs/cinc.centos.cert
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600초
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
tls_random_source = dev:/dev/urandom

그래요너무 혼란스러워이 모든 것 때문에! 나는 스스로 문제를 해결하는 데 더 이상 가까워지지 않고 있습니다. 누구든지 나에게 올바른 방향을 알려줄 수 있습니까?

대단히 감사합니다!!

올리 트리엔드

답변1

openssl을 사용하여 디버깅합니다.

openssl s_client -host localhost -starttls smtp

답변2

Thunderbird가 Postfix에 연결하는 것과 동일한 문제가 있었습니다(Thunderbird가 " The mail server sent an incorrect greeting: 5.7.1"라고 말했습니다). 나에게는 /etc/postfix/master.cf읽는 대신 다음과 같이 변경하여 해결되었습니다 .

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

..읽었습니다:

-o smtpd_client_restrictions=permit
-o smtpd_sender_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

Postfix는 인증되기 전에 Thunderbird의 연결을 거부했습니다.

답변3

테스트 중인 IP가 연결되도록 허용하려면 main.cf의 mynetworks 항목을 추가해야 합니다. localhost에서 연결을 시도하는 경우 mynetworks = localhostIP를 구성해야 합니다. postfix를 다시 로드하거나 postfix를 다시 시작하고 다시 테스트하세요.

관련 정보