我已经设置了 postfix 和一个本地用户myuser。
一封电子邮件myuser@mydomain.com到达没有问题,所以基本的后缀设置很好。
然后我设置了虚拟别名:
mylongname@mydomain.com myuser@mydomain.com
Run Code Online (Sandbox Code Playgroud)
在 main.cf 中:
mydestination: mydomain, localdomain
virtual_alias_maps = hash:/path_to_virtual_aliases
Run Code Online (Sandbox Code Playgroud)
我还创建了数据库 postmap /path_to_virtual_aliases
当我向 发送电子邮件时mylongname@mydomain.com,我收到此错误:
postfix/local[2341]: error: open database /etc/aliases.db: No such file or directory
postfix/local[2341]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
postfix/local[2341]: warning: hash:/etc/aliases is unavailable. open database /etc/aliases.db: No such file or directory
postfix/local[2341]: warning: hash:/etc/aliases: lookup of 'myuser' failed
postfix/local[2340]: F1D9C233E9A: to=<myuser@localdomain>, orig_to=<mylongname@mydomain.com>, relay=local, delay=2239, delays=2239/0.03/0/0.02, dsn=4.3.0, status=deferred (alias database unavailable)
Run Code Online (Sandbox Code Playgroud)
当它已经是本地用户时,为什么它会尝试查找 myuser?
而且如果真的要查,问题会不会通过设置/etc/aliases来解决?如果是,怎么做?
我认为您混淆了在不同交付阶段使用的两种形式的混叠。
描述:aliases(5) 表提供了一种系统范围的机制来重定向本地收件人的邮件。重定向由 Postfix local(8) 传递代理处理。
当它已经是本地用户时,为什么它会尝试查找 myuser?
这适用于所有本地用户,并且在您接收virtual_alias_domains未涵盖的邮件时非常有用。例如,将许多系统服务的电子邮件重定向到一个邮箱。
而且如果真的要查,问题会不会通过设置/etc/aliases来解决?如果是,怎么做?
是的,只需创建一个空文件,/etc/aliases然后/etc/aliases.db使用postalias填充文件:
postalias /etc/aliases
Run Code Online (Sandbox Code Playgroud)