繁体   English   中英

通过SMTP在PHP中发送电子邮件。 隐藏服务器IP

[英]Sending email in PHP via SMTP. Hide server IP

我的应用程序的用户可以通过他们的SMTP信息发送电子邮件。

我想代表他们的SMTP发送100%的电子邮件。 如果有人开始发送垃圾邮件,我不希望其他用户受到负面影响。

但是在收到的标题中,我看到了我的服务器IP,所以我认为每个人都会受到影响。

如何确保服务器不承担责任? 我需要确保一个人不会搞砸其他人。

由于您是中间人,这种情况,即您代表其他人连接到SMTP服务器,由您的应用程序来处理垃圾邮件。 你无法在网络层面解决这个问题。

由于您在PHP发送的电子邮件的标题中看到了您的服务器IP,我是正确的假设:

  1. 您正在运行自己的SMTP服务器(因此标题中的“我的服务器IP”)?
  2. 您的用户是否可以通过SMTP访问此服务器并进行身份验证(可能是SASL)?
  3. 当您从PHP向SMTP服务器提交邮件时,您使用SMTP凭据进行身份验证?

如果是这样,那么对于受到攻击和发送垃圾邮件的用户的保护,您确实有一些有限的选项。

第一种选择是在PHP应用程序中实现速率限制,使用持久存储来记录一段时间内发送的电子邮件数量。 但是,此解决方案非常有限,因为它不包括滥用SMTP服务器本身。

我的建议是调查策略服务器 ,例如policyd和实现配额 使用指定每小时最大发送速率的SASL用户名的配额将有助于降低添加到垃圾邮件黑名单的可能性。 如果您选择的策略服务器支持达到配额通知,我也会实现(允许您识别定期访问其配额的用户,表明该帐户有问题)。

确定要限制发送的速率很困难,因为您必须平衡用户需求与保护。 也许一个好的起点是监控用户当前每小时发送的平均电子邮件数量,并以此为出发点?

同样,上述假设上述三点是正确的。 如果您只是在没有身份验证的情况下将邮件传递给SMTP守护程序,或者服务器是外部的并且无法修改,那么您将不得不在PHP中强制执行限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM