我的 postfix 服务器上有多个域名和电子邮件帐户。尽管我尽了一切努力控制垃圾邮件,但它们还是被垃圾邮件淹没,我崩溃了,开始花钱购买外部垃圾邮件过滤服务。这帮了我大忙。
但是,一个域名仍然受到垃圾邮件的攻击。在调查时,我注意到垃圾邮件直接进入我们的服务器,而不是通过垃圾邮件过滤服务。因此,我想要做的是修改我的 Postfix 配置,以便该域名的电子邮件(并且只有该域名的电子邮件)可以从垃圾邮件过滤服务 IP 地址发送。
我之所以希望通过域名方法进行操作,是因为服务器上的几个域名没有垃圾邮件问题(更多的是聪明的互联网用户的问题)。所以我从未为它们注册垃圾邮件服务器。这排除了仅设置 ip 表以允许仅来自垃圾邮件过滤服务的 IP 地址的 smtp 流量的能力。
有人有办法我可以做到这一点吗?
编辑: 需要澄清的是,服务器上的所有邮件(1 或 2 个域除外)首先会发送到外部垃圾邮件服务。然后垃圾邮件服务会施展魔法,将其发送给我们。因此,对于使用此服务的域,如果 SMTP 流量不是来自垃圾邮件服务的 IP 地址。我只想让邮件被拒绝或发送到黑洞。因为 DNS 更改是在几周前进行的。因此,对于使用该垃圾邮件服务的域,直接连接到服务器将是垃圾邮件。
答案1
根据您的描述,我将您的问题翻译为:如何设置 postfix
如果 Postfix 收到一封电子邮件,内容如下收件人域名是 example.net和IP 地址不是垃圾邮件过滤的 IP 地址然后将电子邮件发送到垃圾邮件过滤服务。
可能的解决方案是使用Postfix 每个客户端/用户/等的访问控制,又称 Postfix 限制类。
首先,您需要check_recipient_access
在限制堆栈中定义,例如在中。同时在 main.cf 中smtpd_recipient_restriction
定义smtpd_restriction_classes
smtpd_restriction_classes = spamfiltering
smtpd_recipient_restriction =
check_recipient_access hash:/etc/postfix/spammydomain
...other restriction...
然后在 中main.cf
,我们定义垃圾域,例如:example.net
example.net spamfiltering
然后main.cf
为除垃圾邮件过滤 IP 地址之外的所有 IP 地址定义自定义过滤(例如 192.168.1.168)
spamfiltering = check_client_access cidr:/etc/postfix/spamfilter, permit
对于文件/etc/postfix/spamfilter
,请输入此行
192.168.1.168/32 PERMIT
0.0.0.0/0 REJECT
它将拒绝所有电子邮件旨在example.net 域,除非它来自 192.168.1.168