... 相关上一个问题 关于在 Centos 5.2(Final) 上运行 postfix 的问题
看起来 postfix 依赖于由命令aliases.db
构建的newaliases.postfix
当我运行时,newaliases.postfix
它只是无限期地挂起。我发现一些技巧,但它们没有帮助(我相应地更改了 /etc/hosts 和 /etc/sysconfig/network,但没有效果)
跑步strace newaliases.postfix
表明了这一点
...
close(4) = 0
munmap(0x2b9bb210c000, 4096) = 0
read(0, <unfinished ...>
显然,它正在尝试从标准输入读取但从未得到任何输入。
我应该给新别名喂点东西吗?
当我尝试时newaliases.postfix < /etc/aliases
我得到
newaliases.postfix: fatal: Recipient addresses must be specified on \
the command line or via the -t option
答案1
您不必指定 newaliases.postfix,它应该只是newaliases
- 但话又说回来,您没有告诉我您使用的是 FreeBSD、Linux、OS X 还是?您正在运行什么?
仅凭命令本身就应该可以消化文件。如果它在消化时挂起,那么就是出了问题。
编辑:
好的,您/etc/aliases.db
现在已经拥有了,但是 postfix 无法在 CentOS 上启动。
尝试这个(以root身份):
yum upgrade postfix
service postfix restart ; tail -f /var/log/maillog
当 postfix 启动失败时,它应该在日志末尾转储出一条错误消息,并且命令tail
会为您显示该消息。
答案2
你必须把它放在控制台上并选择正确的 MTA(在本例中是 postfix)
alternatives --config mta
然后运行
newaliases
这对我有用
答案3
有完全相同的问题,newaliases.postfix 挂了,strace 也一样。
CentOs v7.9.2009
Postfix v2.10.1
读取 main.cf:
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
此命令对我有用(aliases.db 正在更新):
postalias /etc/aliases