Postfix 停止从 Ubuntu 10.04LTS 服务器向我发送邮件。我花了一到两个小时检查/etc/aliases
、运行并重新运行sudo newaliases
,以及sudo postfix reload
在网上搜索我的问题等。
日志条目示例:
Dec 9 11:35:32 localhost postfix/local[1901]: warning: lookup owner-database, NIS domain nisdomain, map mail.aliases: no such map in server's domain
Dec 9 11:35:32 localhost postfix/local[1902]: B33FFACE000: to=<root@server9>, orig_to=<root>, relay=local, delay=833, delays=833/0.02/0/0.09, dsn=4.3.0, status=deferred (alias database unavailable)
我是使用 NIS 和我不有mail.aliases
地图,但我的/etc/aliases
文件没问题。它应该还能用,对吧?错了。
事实证明 NIS 是问题所在。alias_maps
安装程序在注释掉的行中设置了该指令,删除第二项即可解决问题。
alias_maps = hash:/etc/aliases, nis:mail.aliases
改成
alias_maps = hash:/etc/aliases
对于原始行,我期望 Postfix 首先查找/etc/aliases
,然后查找mail.aliases
。有谁愿意评论一下为什么 Postfix 根本无法发送,而不是只发送来自 的有效条目/etc/aliases
?
答案1
在执行别名查找之前,postfix 将检查全部数据库是否可访问。
伪代码
if all mapping was OK (file was found, external server was reachable)
for each map in maps_array:
if found in map
return result
else
fail. give warning in maillog