Postfix本地交付地址完成

我有一个邮件服务器设置,它负责几个虚拟用户和域。 这些邮件可以正常发送到相应的邮箱。

但我无法获得系统帐户(root,http,…)的本地交付工作。 这是我的别名文件:

root: <local_user> <local_user>: <virtual_user@mydomain.org> MAILER-DAEMON: postmaster postmaster: root bin: root daemon: root named: root nobody: root uucp: root www: root ftp-bugs: root postfix: root http: root 

这是/etc/postfix/main.cf的相关部分:

 alias_database = $alias_maps alias_maps = hash:/etc/postfix/aliases append_dot_mydomain = no html_directory = no inet_protocols = ipv4 mail_owner = postfix mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man mydestination = localhost.$mydomain, localhost, localhost.localdomain mydomain = <mydomain.org> myhostname = <myhost.mydomain.org> mynetworks_style = host myorigin = $mydomain sendmail_path = /usr/sbin/sendmail setgid_group = postdrop unknown_local_recipient_reject_code = 550 virtual_alias_maps = hash:/etc/postfix/virtual virtual_gid_maps = static:5000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = <mydomain.org mydomain2.org mydomain3.org ...> virtual_mailbox_maps = hash:/etc/postfix/vmailbox 

<…>中的值显然是占位符。

当我本地发送邮件到root后缀完成地址为root@mydomain.org,然后它想通过virtual传递,但当然是root@mydomain.org不是一个有效的虚拟地址(它不应该是)。

如果地址完成到root@localhost进行本地交付,它将会工作。 但是,当发送电子邮件。

我将如何做到这一点? 或者我还应该做些什么来让本地交付工作? 谢谢你的帮助。

/ e:将mydomain = <mydomain.org>添加到上面的configuration输出中,因为这并不明显。

尝试添加您的mydestination定义

 mydestination = localhost.$mydomain, localhost, localhost.localdomain, <mydomain.org> 

或者,将电子邮件更改为root @ localhost。

我,我停止使用本地帐户的任何电子邮件,并将所有系统帐户configuration为虚拟域。 然后,我可以使用与我为虚拟域所做的工具相同的一组工具为系统运行电子邮件(并且邮件全部存储在同一个地方)。

我不确定你当前的configuration是否会阻止来自外部的根邮件。 你可能想要testing一下。

默认情况下,只要收件人部分没有有效的域,postfix就会追加$myorigin 。 此行为由append_dot_mydomain参数(默认:是)控制。 你可以阅读一些在这个页面中postfix做的重写模式。

因为myorigin被设置为$ mydomain,那么你会得到上面描述的行为

当我本地发送邮件到根。 后缀完成地址为root@mydomain.org,然后它想通过虚拟传递,但当然是root@mydomain.org不是一个有效的虚拟地址(它不应该是)。


myorigin更改为localhost.$mydomain 。 它会将完成地址设置为localhost.$mydomain 。 由于localhost。$ mydomain是在mydestination中定义的,所以postfix将使用/ etc / aliases来执行别名。

  • 相关的问题: 混淆了alias_maps和virtual_alias_maps

一种解决scheme是只为要允许发送邮件的所有本地帐户添加虚拟域(通常是标准主机名)和虚拟邮箱定义。