按照以下步骤操作后,我在设置邮件服务器时遇到了问题教程我仍然无法向服务器之外的任何人发送电子邮件。
我已经安装并配置了 PostFix、Dovecot、Squirrellmail
我收到的确切错误信息是:
交易失败 554 5.7.1[电子邮件保护]: 中继访问被拒绝
下面的 PostFix 配置文件可能有问题(mail_version = 2.9.3)
# 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 = mysite.com
mydomain = mysite.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost =
mynetworks = 127.0.0.0/8, 12.33.444.55 #not the real IP
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
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_sasl_authenticated,permit_mynetworks,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
任何帮助都将非常感激。
答案1
你有
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
翻译过来就是
mydestination = mysite.com, localhost.mysite.com, localhost, mysite.com
发送电子邮件至[电子邮件保护]正在中继。您可以使用 来控制行为smtpd_recipient_restrictions
。reject_unauth_destination
这意味着中继被禁用(请参阅这里(有关详细信息),除非permit_*
前面的其中一个匹配。在这种情况下,您有permit_sasl_authenticated,permit_mynetworks
,第二个意味着您需要直接从主机(实际上是 中的任何主机)发送电子邮件mynetworks
,或者验证您的身份(permit_sasl_authenticated
)。
总结:如果您想从远程机器发送电子邮件到其他域,则需要进行身份验证。