【问题标题】:How can I use postfix to filter out invalid emails before they go to smtp relay如何使用 postfix 在无效电子邮件进入 smtp 中继之前过滤掉它们
【发布时间】:2019-10-07 10:17:11
【问题描述】:

我正在尝试使用 postfix 和/或 maildev 或其他一些工具来过滤掉地址错误的电子邮件,然后再将它们发送到我的外部 smtp 服务器。

我有自动测试,这些测试被构建为发送到垃圾邮件包罗万象的站点 mailforspam.com。代码已编写,但我认为不需要将所有这些邮件发送到外部站点。此外,我有一些用户正在向其他不存在的帐户或域发送流量。我在服务器上设置了 maildev,并将我的服务器配置为将其所有邮件发送到 maildev。但是,每次用户使用虚假电子邮件(例如 abc@xyz.com)时,maildev 都会崩溃,因为它等待的响应永远不会到来,或者无法查找主机。我可以使用 maildev 来接收所有流量(即不是中继),但随后合法流量也会被阻止。我正在尝试使用后缀传输映射来过滤发往某些域或用户的邮件,这样他们就不会通过 smtp 离开网络。

我使用端口 1025 在 10.231.20.201 上运行 maildev。

我在同一台机器 (10.231.20.201) 的端口 25 上设置了 post fix。我在 /etc/postfix/transport 中添加了一个传输映射

它有以下条目:

* relay:10.231.20.201:1025

如果我只有上面的一个条目,所有邮件都会被正确地沉没,但没有邮件出去。

如果我将其更改为:

mailforspam.com 10.231.20.201:1025
* relay:smtp.mydomain.com

它不会将 mailforspam.com 流量路由到邮件服务器,而是将所有内容路由到外部世界。随着大量自动化测试的运行,糟糕的电子邮件会阻塞 smtp 服务器——更不用说发送垃圾邮件了。

如果我将后缀传输映射设置为:

mailforspam.com 10.231.20.201:1025
* relay:smtp.mydomain.com

然后我使用类似的 swak 发送一条简单的消息:

echo "test message" | swaks --to josephspam@mailforspam.com --from "jishak@mydomain.coom" -s 10.231.20.201 -p 25

然后,当我向该域发送测试邮件时,我在 /var/log/maillog 中看到以下内容:

May 20 20:49:49 maildev postfix/error[12649]: 109C819C5A13: to=<josephspam@mailforspam.com>, relay=none, delay=6111, delays=6111/0.03/0/0.02, dsn=4.3.0, status=deferred (mail transport unavailable)

我正在尝试找出正确的方法,将发往我无法控制的域的电子邮件转发到诸如 maildev 之类的垃圾邮件陷阱。

我还需要让合法电子邮件继续发送到正确的 smtp 中继。

以前有人做过吗?有什么想法吗?

我看到的主要问题是 1. 我无法正确弄清楚如何将电子邮件路由到垃圾邮件陷阱 2. 传输映射中有一些规则,但我无法让它们与运行在同一个盒子的 1025 上的 maildev 服务器一起使用,因为这些规则似乎只在端口 25 上有效。

【问题讨论】:

    标签: email smtp postfix-mta


    【解决方案1】:

    我最终做了以下事情:

    我将 /etc/postfix/transport 文件设置为将我的开发人员已知滥用的某些域明确列入黑名单,例如配置文件中硬编码的值、拥有我当前公司但不易更改的以前公司的值等。

    我明确将人们请求且未被滥用的流量列入白名单,例如:

    aol.com smtp:[external_mail_server_ip]:25
    gmail.com smtp:[external_mail_server_ip]:25
    icloud.com smtp:[external_mail_server_ip]:25
    mycompany.com smtp:[external_mail_server_ip]:25
    

    我选择阻止所有流量,仅将未被滥用的特定网站和电子邮件地址列入白名单。

    * relay:[maildev_mail_server_ip]:1025
    

    此外,在某些时候 mailforspam.com 可能厌倦了来自我们域的流量,这些流量是合法的,但超出了他们的处理能力,因此丢弃了所有数据包。我最终将该域列入了 maildev 服务器的黑名单,并要求开发人员使用 maildev 的 api 检查 maildev 中的邮件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-02
      • 2016-09-17
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多