我如何使用后缀过滤掉无效的电子邮件,然后再将它们发送到smtp中继

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何使用后缀过滤掉无效的电子邮件,然后再将它们发送到smtp中继相关的知识,希望对你有一定的参考价值。

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

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

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

我在同一台计算机的端口25(10.231.20.201)上设置了后缀。我在/ 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

而且我使用像这样的条子发送了一条简单的消息:

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上有效。

答案

我最终做了以下事情:

我设置了/ 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中的邮件。

以上是关于我如何使用后缀过滤掉无效的电子邮件,然后再将它们发送到smtp中继的主要内容,如果未能解决你的问题,请参考以下文章

drupal如何避免发邮件

如何从 Rails 应用程序中的一系列电子邮件中过滤掉不活动的电子邮件?

Logstash 中的 Grok 过滤器错误

使用 gmail api 过滤掉某种格式的电子邮件

如何过滤掉 teradata 文本字段中的非数字值?

如何设置我的 Ubuntu VPS 以发送外发邮件? [关闭]