配置邮件服务器以接收来自任何域的邮件。

7
我在虚拟机上安装了Ubuntu的postfix邮件服务器,现在邮件服务器的域名是abc.com...因此它可以接收来自任何“发件人地址”的邮件,但“收件人地址”必须正确,即邮件服务器中存在有效用户。
在我的项目中,我向那些邮件地址包含其他域名(如cde.com)的用户发送虚假邮件。
我的最终目标是在邮件服务器中显示这些邮件。
当我尝试这样做时,它直接进入邮件服务器日志,即/var/log/mail.log,并显示为错误。
是否有任何方法可以将这些邮件存储在邮件服务器中?

这是离题了:请移步到ServerFault。 - ulidtko
2个回答

5
您不仅想要一个全收配置,接受 *@abc.com 的任何邮件,还想要一个全接受配置,接受 *@* 的任何邮件?
如果您的 Postfix 编译时支持 PCRE,则可以实现此目标。然后,在您的配置中需要虚拟用户(请参阅 Posfix 文档),并进行以下调整:
确保您的 Postfix 已经配置为至少接受一个用户和一个域的邮件,并已经测试通过。
1)在 main.conf 中设置
virtual_alias_domains = virtual_alias_maps = hash:/etc/postfix/virtual_forwardings, pcre:/etc/postfix/virtual_forwardings.pcre virtual_mailbox_domains = hash:/etc/postfix/virtual_domains, pcre:/etc/postfix/virtual_domains.pcre 其中,hash: 部分是文档中已知的部分。而 pcre: 部分是新的。 也可以省略 hash: 部分。
2)创建文件 virtual_domains.pcre,内容如下:
/^.* / OK
这将接受任何域作为有效的收件人域。
3)创建文件 virtual_forwardings.pcre,内容如下:
/@.*/ someuser@example.com
这将转发任何域的任何本地部分到 Postfix 用户 someuser@example.com。请确保这是有效的虚拟或本地用户。
在此配置中,Postfix 似乎是一个开放的 Relay,但它不会为其他域中继。它接受任何域的邮件,并将邮件本地递送到一个邮箱中。
有时您会注意到日志条目,告诉您类似于“不要在 mydestination 和 virtual config 中列出 abc.com”。可以忽略此警告,因为这种“奇怪”的设置并不常见。

似乎 virtual_mailbox_base 也必须被设置。 - Alex

2

注:

通过向“some.local.user”(一个shell用户)发送任何邮件来进行另一种方式的操作。

需要:postfix-pcre软件包

在main.cf中

luser_relay = some.local.user
local_recipient_maps =

virtual_alias_maps = pcre:/etc/postfix/virtual_alias.pcre

mydestination = $myhostname, pcre:/etc/postfix/mydestination.pcre

文件: /etc/postfix/virtual_alias.pcre (将所有内容映射到“some.local.user”)

/\/@/            some.local.user

__

文件:/etc/postfix/mydestination.pcre(我们接受您提供的任何内容)

/.*/    OK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接