配置邮件服务器以接收来自任何域的邮件[已关闭]

问题描述 投票:0回答:2

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

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

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

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

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

postfix-mta mail-server
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:
部分也可以省略。

  1. 创建包含以下内容的文件

    virtual_domains.pcre

    /^.*/       OK
    

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

  1. 创建包含以下内容的文件

    virtual_forwardings.pcre

    /@.*/     [email protected]
    

这会将任何域的任何本地部分转发给 Postfix 用户 [电子邮件受保护]。确保这是有效的虚拟或本地用户。

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

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


2
投票

FTR:

另一种方法是将任何邮件发送到“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
© www.soinside.com 2019 - 2024. All rights reserved.