为什么 NIS 映射错误会阻止 Postfix 解析本地别名?

为什么 NIS 映射错误会阻止 Postfix 解析本地别名?

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

相关内容