我正在尝试使用postfix和/或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上起作用。
答案 0 :(得分:0)
我最终做了以下事情:
我将/ 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中的邮件。