无法使用电子邮件客户端通过我的邮件服务器发送邮件

无法使用电子邮件客户端通过我的邮件服务器发送邮件

我在 Ubuntu 10.04 上使用 postfix 和 dovecot 设置了一个邮件服务器。我可以在 thunderbird 等电子邮件客户端上接收电子邮件,但我可以使用同一个客户端发送电子邮件。以下是 postfix 配置文件 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 

答案1

main.cf 的限制性质意味着您的 SMTP Thunderbird 配置不正确,或者您的身份验证失败,但最好的建议是实际使用命令行明确验证与您的服务器的 SMTP 连接,并监视日志文件以验证每个测试过程:

  1. 在命令行上使用 telnet 来验证本地主机是否支持 SMTP
  2. 监视日志文件 /var/log/maillog(?) 以查看 Postfix 正在看到什么
  3. 监视 sasl 身份验证器的日志文件,以确保 SASL 身份验证有效。

当然,你可以通过一次删除一个选项来简化诊断程序smtpd_客户端限制查看哪个选项导致了您的问题,然后纠正它。

查看 Thunderbird 的 SMTP 配置,该配置可能与您在上面的 main.cf 中指定的严格限制不兼容。

您可能已在 Thunderbird 上设置 SMTP 以指向 Postfix 服务器的公共(或私有)IP 地址。上述 main.cf 配置要求 SMTP 服务器仅监听来自 127.0.0.0/8 的流量。

将您的私有 IP 地址范围添加到上面我的网络=127.0.0.0/8或者修改 Thunderbird SMTP 配置以使用 localhost:

您还需要允许_sasl_已认证因此您的客户端需要指定此项。如果您删除 main.cf 中的选项(重新启动 postfix)并且您的 smtp 可以正常工作,那么这可能是您的客户端配置或您的身份验证设置存在错误。

正如其他人所提到的,您在日志/配置中提供的信息以及您已经执行的诊断工作越多,其他人就越容易帮助您。

您的 postfix 配置和问题与 dovecot 和客户端配置相互依赖。日志一开始可能难以理解,但它们是宝贵的资源。

祝你好运,

相关内容