将电子邮件转发给用户

将电子邮件转发给用户

我正在设置我的第一个邮件服务器。过去,我使用已配置的 Postfix 设置,并尝试复制该设置。

本质上我可以在服务器上创建一个用户,然后在 /etc/postfix/virtual 中添加一条规则,例如:

[email protected]   user

重新启动 postfix,然后向用户发送一封电子邮件,它就可以正常工作了。

我知道有很多因素要让其正常运转。

我刚刚尝试执行上述操作,并从服务器 shell 向我添加到 /etc/postfix/virtual 的地址发送电子邮件,并且发送成功,但没有到达指定用户的收件箱(我只是在服务器上的 webmin 中检查)。

我是否错过了一些重要步骤?

以下是 /var/log/maillog 的摘录:

Sep 13 07:58:41 srv sendmail[3037]: r8D6wfEX003037: from=root, size=231, class=0,
nrcpts=1, msgid=<[email protected]>, relay=root@localhost

Sep 13 07:58:41 srv sendmail[3038]: r8D6wfJa003038: from=<[email protected]>,
size=494, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]

Sep 13 07:58:41 srv sendmail[3037]: r8D6wfEX003037: [email protected], ctladdr=root
(0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30231, relay=[127.0.0.1]
[127.0.0.1], dsn=2.0.0, stat=Sent (r8D6wfJa003038 Message accepted for delivery)

Sep 13 07:58:41 srv sendmail[3040]: r8D6wfJa003038: to=<[email protected]>, ctladdr=
<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120494,
relay=thedomain.org. [xx.xx.xxx.xx], dsn=4.0.0, stat=Deferred: Connection refused by thedomain.org.

答案1

您需要确保在 main.cf 文件中包含以下指令:

virtual_alias_domains = example.net example.com
virtual_alias_maps = hash:/etc/postfix/virtual

其中 example.net 和 example.com 是您想要拥有虚拟地图的域。 有关详细信息,请参阅文档。

如果 Postfix 中有虚拟域,则该域中的所有地址都必须是虚拟的。如果您只想将邮件从一个本地用户重定向到另一个本地用户,则应使用普通别名。

通常情况下,如果您只是希望将邮件发送给您邮箱中的用户并将其发送到您域名中的用户名,那么您根本不需要使用任何类型的别名,您只需在 mydestination 中设置您的域名,然后使用unix:passwd.bynamelocal_recipient_maps 中的设置即可。

一般来说local_recipient_maps = unix:passwd.byname $alias_maps $virtual_mailbox_maps $virtual_alias_maps

相关内容