所以我一直在我的 CentOS 6.2 虚拟专用服务器上安装 Postfix 服务器。
我一直在关注这个教程:
因为我之前从来没有架设过邮件服务器。
所以直到第五页为止一切都运行良好。
我正在进行第 15 步。它显示了如何验证 Postfix 是否已准备好进行 SMTP-AUTH 和 TLS,但是当我运行命令时:
telnet localhost 25
并得到:
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
所以我输入:
ehlo localhost
我得到:
250-server.cdevelop.info Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
所以不存在:
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
根据指南和常识,这表明它还没有为 SMTP-AUTH 或 TLS 做好准备。指南中的所有内容均已安装,并按照所述方式进行配置,但我仍然遇到此问题。
我应该调查什么?配置,或验证软件包是否安装或错误日志等?
我还需要向你们提供更多信息吗?
或者任何人想说的任何其他可能对我的情况有所帮助的事情。
如果您无法提供任何帮助或信息,有人介意向我指出一些关于在我的 CentOS VPS 上设置轻量级邮件服务器的好教程吗?我真的很喜欢我现在正在关注的教程,因为它允许虚拟域和虚拟用户,使其更轻、更可定制。因此,如果我可以将虚拟用户和域集成到另一个教程中,也可以。
答案1
为了确定起见,请仔细检查您main.cf
(我的 Ubuntu 发行版上的 /etc/postfix/main.cf 对于 CentOS 不是 100% 确定)并确保您拥有:
smtpd_sasl_auth_enabled = yes
broken_sasl_auth_clients = yes
到目前为止,我还不是 MTA 方面的专家,但我至少已经足够深入,可以让我的专家给我AUTH
和AUTH=
响应,而这两行就是给你这些结果的。
以防万一您好奇,根据我从阅读指南等中收集到的信息,该smtpd_sasl_auth_enabled = yes
行启用了AUTH {mechanisms}
响应行,告诉兼容客户端身份验证机制可用。确保您没有在“smtpd”中的“d”等地方遗漏字母。我只是broken_sasl_auth_clients = yes
浏览AUTH={mechanisms}
了那部分,看到了一些关于“不支持”、“客户”和“前景”的内容,然后翻了个白眼,嘀咕了一些涉及微软的精选词。
现在对于 STARTTLS 的东西,我可能不会 100% 有用,因为我还没有测试 TLS,因为我仍在我的服务器上传输邮件。我收到邮件正常,并且快递公司对 IMAP 用户进行了身份验证,但我的 Cyrus-SASL 身份验证未能通过 SMTP。我会在这里尽力并告诉你我知道我的设置是:
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.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
smtp_tls_security_level = may
恐怕我只能告诉你,再次确保你没有错过需要的字母或“_”,并检查并确保你没有注释掉某个设置。作为一个在 postfix/mysql/cyrus-sasl/courier-imap(-ssl)/pam 配置中跌跌撞撞的人,并且以前也曾在其他配置中跌跌撞撞过,我可以告诉你,我这样做的次数比我愿意承认的还要多。