如果不是从服务器本身发送,则中继访问被拒绝

如果不是从服务器本身发送,则中继访问被拒绝

我正在 CentOS 6 上设置 Postfix 和 Dovecot。除了从 Outlook 向其他人发送邮件外,其他一切都正常。从 ssh 控制台接收和发送邮件也正常。

我已经搜索了三天了......

这是 /var/log/maillog 中的错误:

10 月 5 日 16:11:55 072297 postfix/smtpd[5442]: 警告:55.55.55.55:主机名 55.55.55.55.my.isp.hostname.tld 的地址未列出
10 月 5 日 16:11:55 072297 postfix/smtpd[5442]: 从未知 [55.55.55.55] 连接
10 月 5 日 16:11:55 072297 postfix/smtpd[5442]: NOQUEUE:拒绝:来自未知 [55.55.55.55] 的 RCPT:554 5.7.1 <[电子邮件保护]>:中继访问被拒绝;来自=<[电子邮件保护]> 至=<[电子邮件保护]> proto=ESMTP helo=<MePC>
10 月 5 日 16:11:58 072297 postfix/smtpd[5442]: 断开与未知[55.55.55.55] 的连接

这是我的 main.cf (运行‘postconf -n’):

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = domain.com
myhostname = mail.domain.com
mynetworks = 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
query_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks、permit_sasl_authenticated、reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
unknown_local_recipient_reject_code = 550

这是我的 dovecot.conf(运行“dovecot -n”)(在标签前添加了引号,导致脚本解析器出现问题):

'# 2.0.9: /etc/dovecot/dovecot.conf
doveconf: 警告:注意:您可以使用以下命令获取一个新的干净的配置文件:doveconf -n > dovecot-new.conf
doveconf: 警告:/etc/dovecot/dovecot.conf:84 中的设置已过时:在 auth {} 内的所有设置中添加 auth_ 前缀,并完全删除 auth {} 部分
doveconf: 警告:/etc/dovecot/dovecot.conf:86 中的设置已过时:passdb pam {} 已被 passdb { driver=pam } 替换
doveconf: 警告:/etc/dovecot/dovecot.conf:88 中的设置已过时:userdb passwd {} 已被 userdb { driver=passwd } 替换
'# OS:Linux 2.6.32-358.18.1.el6.x86_64 x86_64 CentOS 版本 6.4 (最终)
auth_mechanisms = plain login
disable_plaintext_auth = no
listen = *
mail_location = maildir:~/Maildir
mbox_write_locks = fcntl
passdb {
driver = pam
}
passdb {
driver = pam
}
protocol = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
ssl_cert = ssl_key = userdb {
driver = passwd
}
userdb {
driver = passwd
}
protocol pop3 {
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
pop3_uidl_format = %08Xu%08Xv
}

非常感谢能帮助我的人!

答案1

检查 Outlook 中的 SMTP 服务器设置,确保您设置了正确的端口 587(而不是 25!)并且使用了正确的用户名和密码。

答案2

勾选“SMTP 服务器需要身份验证”即可解决此问题,其实有点愚蠢。
默认情况下,该功能是禁用的。

相关内容