Postfix&TLSconfiguration正确,但Thunderbird在尝试通过SMTP&STARTTLS发送电子邮件时会引发隐藏错误?

我最近刚刚安装了CentOS 5.5和Postfix。

我已经遵循了两个不同的教程,这些教程应该在SMTP服务器上启用TLS。 这两个都告诉我创build一个密钥和证书,编辑configuration,通过telnet连接testing服务器。

一切看起来应该是工作。 当我用telnet连接时,服务器通告我可以连接到STARTTLS。 我已经为端口25和465打开了防火墙。SELinux被禁用(不知道这是否会受到干扰)。

当我尝试发送一封在Thunderbird中启用了STARTTLS的电子邮件时,出现以下错误:

发送邮件时发生错误:邮件服务器发送错误的问候语:无法连接到SMTP服务器192.168.0.9(192.168.0.9:465),连接错误10061。

按下确定后,我接到另一个不太有用的信息:

消息发送失败。 该邮件无法发送,因为在事务处理过程中,到SMTP服务器cinc.centos的连接丢失。 再试一次或联系您的networkingpipe理员。

我已经谷歌search和configuration小时现在最好的一天。 我完全没有接近修复它。 我试着用谷歌search错误信息,或只是错误代码,它没有发现任何有用的东西。

但是.. SMTP服务器工作得很好,没有任何TLSencryption! 所以错误肯定是encryption,所以错误信息提到端口465。

如果有帮助,我已经发布了main.cf的TLS部分:

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 = yes smtpd_recipient_restrictions = permit_sasl_authenticated,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 = 3600s
smtpd_tls_session_cache_database = btree:/ var / spool / postfix / smtpd_tls_cache
tls_random_source = dev:/ dev / urandom

我很困惑这件事! 我不能靠近自己修复它…有人可以指出我在正确的方向吗?

太感谢了!!

Ollie Treend

使用openssl进行debugging。

openssl s_client -host localhost -starttls smtp 

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在validation之前一直拒绝Thunderbird的连接。

您必须添加到main.cf中的mynetworks条目,以允许您正在testing的IP连接。 如果您尝试从本地主机连接,则应configurationmynetworks = localhostIP。 postfix重新加载和/或postfix重新启动并再次testing。