我最近刚刚安装了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。