问题
作为 root,我向 John 发送了一封电子邮件。
mailx [email protected]
邮件日志包含状态退回、未知用户 john。
后缀/本地[电子邮件受保护],中继=本地,延迟=0.04,延迟=0.02/0.01/0/0.01,dsn=5.1.1,状态=退回未知用户:“john”
我的设置
在全新安装 CentOS 7 时,我安装了 Postfix。
yum install postfix
在 /etc/postfix/main.cf 文件中,我使用域 example.com。
mydestination = example.com
在/etc/postfix/main.cf文件中,我将用户家庭邮箱设置为Maildir/,并且没有邮箱命令。
home_mailbox = Maildir/
mailbox_command =
在 /etc/postfix/main.cf 文件中,我删除了本地收件人映射中的注释,以查询本地用户帐户。
local_recipient_maps = unix:passwd:byname $alias_maps
我创建了一个新用户,约翰。
useradd john
我更新别名数据库。
newaliases
我重新启动 Postfix。
systemctl restart postfix
我验证 Postfix 正在运行。
systemctl status postfix
. . . active running
John 的帐户存在于 /etc/passwd 中。
john:x:1002:1002::/home/john:/bin/bash
postconf命令表明Unix可以用来查询用户。这应该意味着local_recipient_map = Unix:passwd.byname
可以用来查询用户。
]# postconf -m | grep unix
unix
我不确定这是否是问题所在,但以下命令不会产生任何输出。
postmap -q [email protected] unix:passwd.byname
我的问题不应该重复这个类似的问题,因为这个类似的帖子中提供的解决方案是设置mydestination
为localhost localhost.$mydomain
。当我执行此操作,然后重新启动 Postfix 时,我在邮件日志中收到完全相同的错误“退回 - 未知用户 john.doe”。另外,在另一篇文章中,有一个更发达的 Postfix 设置,带有 mysql。我的设置非常简单。