我的应用程序的用户可以通过他们的SMTP信息发送电子邮件。
我想代表他们的SMTP发送100%的电子邮件。如果有人开始发送垃圾邮件,我不希望其他用户受到负面影响。
但是在收到的标题中,我看到了我的服务器IP,所以我认为每个人都会受到影响。
如何确保服务器不承担责任?我需要确保一个人不会搞砸其他人。
答案 0 :(得分:1)
由于您是中间人,因此您代表其他人连接到SMTP服务器,由您的应用程序来处理垃圾邮件。你无法在网络层面解决这个问题。
答案 1 :(得分:0)
由于您在PHP发送的电子邮件的标题中看到了您的服务器IP,我是正确的假设:
如果确实如此,那么对于遭到入侵和发送垃圾邮件的用户的保护,您确实有一些有限的选择。
第一个选项是在PHP应用程序中实现速率限制,使用持久存储来记录一段时间内发送的电子邮件数量。但是,此解决方案非常有限,因为它不包括滥用SMTP服务器本身。
我的建议是调查政策服务器,例如policyd并实施quotas。使用指定每小时最大发送速率的SASL用户名的配额将有助于降低添加到垃圾邮件黑名单的可能性。如果您选择的策略服务器支持达到配额通知,我也会实现(允许您识别定期命中配额的用户,表明帐户出现问题)。
确定您希望限制发送的速率很困难,因为您必须平衡用户需求与保护。也许一个好的起点是监控用户当前每小时发送的平均电子邮件数量,并以此为出发点?
同样,上述假设上述三点是正确的。如果您只是在没有身份验证的情况下将邮件传递给SMTP守护程序,或者服务器是外部的并且无法修改,那么您将不得不在PHP中强制执行限制。