重写所有(一个收件人除外)外发电子邮件的收件人

重写所有(一个收件人除外)外发电子邮件的收件人

我有一台服务器,其中托管着一个允许发送电子邮件的 Java 应用程序。在测试期间,我希望 Postfix 将所有外发电子邮件发送到[电子邮件保护],但是发送至[电子邮件保护]需要独处。

基本上:

答案1

我想分享一些在我的用例中有效的配置(交付全部无论输入的收件人是谁,都将消息发送到我的本地邮箱)。

运行 Ubuntu 14.04,postfix 版本 2.11.0

  • 将以下行添加到/etc/postfix/main.cf

    sender_canonical_maps = regexp:/etc/postfix/sender_canonical  
    recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical  
    transport_maps = hash:/etc/postfix/transport  
    
  • /etc/postfix/transport用内容 创造

    * : yoshi
    
  • 创造/etc/postfix/sender_canonical

    /.+/ [email protected]
    
  • 创造etc/postfix/recipient_canonical/

    /.+/ [email protected]
    
  • 更新配置:

    sudo postmap /etc/postfix/transport
    sudo postmap /etc/postfix/recipient_canonical
    sudo postmap /etc/postfix/sender_canonical
    
  • 重新启动 postfix:

    sudo service postfix restart
    

现在如果我运行以下脚本:

<?php
    mail("[email protected]", "PseudoFaullt to local Inbox", "This is a manual scam mail, please steal money from yourself.\nThank you for the cooperation");

我在本地收件箱中收到了重写的收件人。实际上,我不确定您是否需要发件人和传输配置,但我的印象是如果没有它,它就无法工作。所以您可能想试一试以缩短流程。

请注意,*_maps*中的指令以而不是/etc/postfix/main.cf为前缀。regexp:hash:

因此,对于您的单个例外,也许一个巧妙的正则表达式就可以完成这项工作。

关于设置 postfix、本地收件箱以及如何使用 Thunderbird 访问它们的非常详细的答案:
https://askubuntu.com/a/209877

相关信息sender_canonincal_maps
http://binblog.info/2012/09/27/postfix-rewrite-the-sender-address-of-all-outgoing-mail/

答案2

您可以使用规范映射按照 Postfix 文档中所述这里这里

答案3

在 main.cf 中

recipient_canonical_maps = regexp:/etc/postfix/canonical_maps_recipient

然后创建 /etc/postfix/canonical_maps_recipient 并使用 postmap 进行编译

/[email protected]/  [email protected]
/.*/ [email protected]

答案4

您可以使用 Postfix 文档中描述的通用地图这里.如果您需要其他地址重写规则本文档也提供了必要的步骤。

相关内容