Postfix 忽略虚拟地图

Postfix 忽略虚拟地图

我正在使用 Postfix,当我尝试向虚拟地址发送电子邮件时([电子邮件保护]),则无法找到用户:

Aug  7 11:55:32 example postfix/local[24435]: AE54C808E546: to=<[email protected]>, relay=local, delay=6.6, delays=4.8/0.47/0/1.4, dsn=5.1.1, status=bounced (unknown user: "paradise")

我正在使用以下虚拟地图:

[email protected] horus
@example.org horus

其中 horus 是我的(非 root)Unix 用户。如果我尝试通过以下方式验证虚拟地址:

postmap -q [email protected] hash:/etc/postfix/virtual

它返回我当前的用户:

horus

因此,我不确定为什么找不到[电子邮件保护]或天堂。

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
mailbox_size_limit = 0
milter_default_action = accept
milter_protocol = 2
mydestination = example.org,localhost
myhostname = example.org
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = example.org
readme_directory = no
receive_override_options = no_address_mappings
recipient_delimiter = +
relayhost =
virtual_alias_maps = hash:/etc/postfix/virtual

我的 /etc/aliases(但据我所知,它仅用于本地传送)是:

...
www:            webmaster
webmaster:      root
noc:            root
security:       root
hostmaster:     root
info:           postmaster
marketing:      postmaster
sales:          postmaster
support:        postmaster


# trap decode to catch security attacks
decode:         root

# Person who should get root's mail
root:           horus

数据库似乎没有问题:

db_dump /etc/postfix/virtual.db -p

VERSION=3
format=print
type=hash
h_nelem=4098
db_pagesize=4096
HEADER=END
[email protected]\00
horus\00
@example.org\00
horus\00
DATA=END

配置有什么问题?

答案1

如果你想使用virtual_alias_maps来传递邮件,你还必须告诉 Postfix 它应该查询哪些域的地图,使用virtual_alias_domains指令。这可以是一个简单的域列表,也可以是 Postfix 支持的映射类型之一。

virtual_alias_domains = example.org

可以让您出发,稍后您可以放入地图或任何您想要的东西。

另请参阅有关虚拟主机的 Postfix 文档

答案2

您是否运行过:

postmap /etc/postfix/virtual
postfix reload

相关内容