Kristaps Asked: 2009-06-27 14:16:48 +0800 CST2009-06-27 14:16:48 +0800 CST 2009-06-27 14:16:48 +0800 CST 如何在共享主机环境中限制用户电子邮件发送 - LAMP 堆栈 772 操作系统 - Ubuntu,PHP 版本 - 5.3,MTA - Exim。 如何限制虚拟主机可以使用标准 PHP mail() 函数在每个时间间隔发送的电子邮件数量(最好是几个小时,但几天也可以)。 PHP 进程以不同的用户权限运行,每个虚拟主机都不同。 他们是否有任何其他方法可以防止共享主机客户端发送大量垃圾邮件,但允许从 PHP 发送有意义的邮件? linux php email exim 2 个回答 Voted Best Answer sleske 2009-06-28T18:59:40+08:002009-06-28T18:59:40+08:00 好吧,你可能会破解一些东西,所以 Exim 只允许每个用户和每小时有限数量的邮件。Exim 中显然没有直接的内容,但它应该是可行的: http://osdir.com/ml/debian.user.isp/2002-12/msg00094.html 也就是说,用户仍然可以通过他们选择的 SMTP 服务器直接发送邮件。为了防止这种情况,您必须阻止端口 25 传出(防火墙、iptables 或类似的)。但可以说这不是你的问题,而是STMP服务器管理员的问题...... carlito 2009-06-29T20:38:44+08:002009-06-29T20:38:44+08:00 您应该在路由器上执行此操作。(或防火墙)。 VM 服务器本身可能是路由器,具体取决于您的设置。 不幸的是,您可能会计算每分钟的 TCP 连接数,而不是每分钟的 RCPT TO。但考虑到垃圾邮件发送者必须提交的电子邮件率与合法人之间的比率,这并不重要。(远远大于他们可以可靠地放入一封电子邮件的 RCPT TO 的数量)。 您可以要求他们使用您的 SMTP 服务器。如果他们是客户,那么即使您增加了成本,降低您提供的服务水平也可能不值得。但是,如果您在合理的速率限制下仍遇到严重的垃圾邮件问题,并且您切换到极端速率限制,除非他们使用您的 SMTP 服务器(它可以比防火墙进行更深入的分析),我希望客户能够理解。如果客户被 NAT 到同一个 IP 地址,要求他们共享一个 SMTP 服务器是完全合理的(无论如何他们共享一个入站地址,他们共享反垃圾邮件保护风险)。
好吧,你可能会破解一些东西,所以 Exim 只允许每个用户和每小时有限数量的邮件。Exim 中显然没有直接的内容,但它应该是可行的:
http://osdir.com/ml/debian.user.isp/2002-12/msg00094.html
也就是说,用户仍然可以通过他们选择的 SMTP 服务器直接发送邮件。为了防止这种情况,您必须阻止端口 25 传出(防火墙、iptables 或类似的)。但可以说这不是你的问题,而是STMP服务器管理员的问题......
您应该在路由器上执行此操作。(或防火墙)。
VM 服务器本身可能是路由器,具体取决于您的设置。
不幸的是,您可能会计算每分钟的 TCP 连接数,而不是每分钟的 RCPT TO。但考虑到垃圾邮件发送者必须提交的电子邮件率与合法人之间的比率,这并不重要。(远远大于他们可以可靠地放入一封电子邮件的 RCPT TO 的数量)。
您可以要求他们使用您的 SMTP 服务器。如果他们是客户,那么即使您增加了成本,降低您提供的服务水平也可能不值得。但是,如果您在合理的速率限制下仍遇到严重的垃圾邮件问题,并且您切换到极端速率限制,除非他们使用您的 SMTP 服务器(它可以比防火墙进行更深入的分析),我希望客户能够理解。如果客户被 NAT 到同一个 IP 地址,要求他们共享一个 SMTP 服务器是完全合理的(无论如何他们共享一个入站地址,他们共享反垃圾邮件保护风险)。