我正在使用 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