無法通過我的郵件伺服器使用電子郵件客戶端發送郵件
我在 Ubuntu 10.04 上使用 postfix 和 dovecot 設置了郵件伺服器。我可以在 Thunderbird 等電子郵件客戶端上接收電子郵件,但我可以使用同一個客戶端發送電子郵件。下面是後綴配置文件 main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt smtpd_tls_key_file = /etc/ssl/private/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 # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = mail.xxx.xxxx alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = xxx.xxxx.xxxx smtp_bind_address = xxxxxxxxxx mydestination = mail.xxxxxx, localhost.xxxxxx, localhost, xxxxx relayhost = mynetworks = 127.0.0.0/8, mailbox_size_limit = 0 recipient_delimiter = + #inet_interfaces = all inet_protocols = all #home_mailbox = mail/ #home_mailbox = /var/mail/%u mailbox_command = smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes #smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtp_tls_security_level = may smtpd_tls_security_level = may smtpd_tls_auth_only = no smtp_tls_note_starttls_offer = yes smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom mail_spool_directory = /var/spool/mail content_filter = ####################################################################################################################################### smtpd_recipient_restrictions = reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_rbl_client dnsbl.njabl.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client sbl.spamhaus.org, # check_recipient_mx_access hash:/etc/postfix/recipient_mx_access smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, permit_inet_interfaces, reject_rbl_client zen.spamhaus.org reject_unknown_reverse_client_hostname smtpd_sender_restrictions = reject_non_fqdn_sender,reject_unknown_sender_domain ########################################################################################################################################## #header_checks = regexp:/etc/postfix/header_checks
您的 main.cf 的限制性意味著您的 SMTP Thunderbird 配置不正確,或者您的身份驗證失敗,但最好的建議是實際使用命令行來明確驗證與伺服器的 SMTP 連接,並監控日誌用於驗證每個測試過程的文件:
- 在命令行上使用 telnet 驗證 localhost 是否支持 SMTP
- 監控日誌文件 /var/log/maillog(?) 以查看 Postfix 看到的內容
- 監控您的 sasl 身份驗證器的日誌文件,以確保 SASL 身份驗證有效。
當然,您可以通過從smtpd_client_restrictions中一次刪除一個選項來縮短您的診斷,以查看哪個選項導致您的問題,然後糾正它。
查看 Thunderbird 的 SMTP 配置,可能是該配置與您在上述 main.cf 中指定的嚴格限制不兼容。
您可能在 Thunderbird 上設置了 SMTP 以指向您的 Postfix 伺服器的公共(或私有)IP 地址。上面的 main.cf 配置要求 SMTP 伺服器只監聽來自 127.0.0.0/8 的流量。
將您的私有 IP 地址範圍添加到上面的mynetworks=127.0.0.0/8或修改 Thunderbird SMTP 配置以使用 localhost:
您還需要permit_sasl_authenticated,因此您的客戶需要指定此內容。如果您刪除了 main.cf 中的選項(重新啟動 postfix)並且您的 smtp 可以正常工作,那麼這可能是您的客戶端配置中的錯誤,或者您的身份驗證設置方式錯誤。
正如其他人所提到的,您在日誌/配置中提供的資訊以及您已經執行的診斷工作越多,其他人就越容易幫助您。
您的 postfix 配置和問題與 dovecot 和客戶端配置相互依賴。這些日誌起初可能難以理解,但它們是一個很好的資源。
祝你好運,