Postfix 无法发送到外部域

Postfix 无法发送到外部域

我使用 sasl 链接设置了我的 Postfix 到 Dovecot 用户/域数据库。

当尝试向外部收件人发送邮件时,Postfix 给出以下错误消息(内部收件人没问题):

服务器错误:‘550 5.1.1:收件人地址被拒绝:虚拟邮箱表中的用户未知’

# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = scan:127.0.0.1:10025
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
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 = (my.hostname.com)
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
receive_override_options = no_address_mappings
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/postfix/postfix_cert.pem
smtpd_tls_key_file = /etc/postfix/postfix_key.pem
unknown_local_recipient_reject_code = 550
virtual_gid_maps = static:502
virtual_mailbox_base = /home/mailadmin
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 502
virtual_transport = virtual
virtual_uid_maps = static:502

在过去的几个小时里,我一直在尝试不同的方法,但没有成功。

可能是什么原因?

谢谢。

答案1

经过一整天阅读文档和修改设置后,我终于解决了这个问题。问题出在 mysql_virtual_domains_maps.cf 中,它有一个 MySQL 查询,该查询不接受参数,因此总是返回相同的结果(所有可用域的列表)。正确的情况是查询仅在匹配时才返回结果。希望这能帮助其他遇到同样问题的人。

相关内容