所以我一直在我的 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 配置中跌跌撞撞的人,並且之前也曾在其他配置中跌跌撞撞過,我可以告訴你,我這樣做的次數比我願意承認的還要多。