7

我在虚拟机上的 ubuntu 上有一个 postfix 邮件服务器,现在邮件服务器的域是 abc.com ......因此它从任何“发件人地址”接收邮件,但“收件人地址”需要正确,即有效用户在邮件服务器中。

现在,在我的项目中,我正在向其邮件 ID 也包含其他域的用户发送假邮件......比如 cde.com

我的最终目标是显示邮件服务器中的邮件。

当我尝试这样做时,它直接进入邮件服务器日志,即 /var/log/mail.log 即作为错误

有什么办法可以将这些邮件存储在邮件服务器中?

4

2 回答 2

5

您不仅想要一个 Catch-All 配置,例如接受任何发往 *@abc.com 的邮件,还需要一个 Catch-Anything 配置来接受任何发往 *@* 的邮件?

如果您将 PCRE 支持编译到 Postfix 中,这是可能的。然后,您需要在配置中使用虚拟用户(请参阅 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具有以下内容的文件:

/^.*/ 好的

这接受任何域作为有效的收件人域。

3)创建virtual_forwardings.pcre具有以下内容的文件:

/@.*/ someuser@example.com

这会将任何域的任何本地部分转发给 Postfix 用户 someuser@example.com。确保这是一个有效的虚拟或本地用户。

在此配置中,Postfix 似乎是一个开放中继,但它不中继其他域。它接受任何域的邮件,并将邮件本地递送到一个邮箱。

有时您会注意到一个日志条目告诉您“不要在 mydestination 和虚拟配置中列出 abc.com”。可以忽略此警告,因为这种“奇怪”的设置并不常见。

于 2011-03-17T12:40:25.203 回答
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(catchall 映射到“some.local.user”)

/\/@/            some.local.user

__

文件:/etc/postfix/mydestination.pcre(我们接受你扔给我们的任何东西)

/.*/    OK
于 2011-04-22T21:49:57.030 回答