【问题标题】:Sending email in PHP via SMTP. Hide server IP通过 SMTP 在 PHP 中发送电子邮件。隐藏服务器 IP
【发布时间】:2012-12-17 22:02:40
【问题描述】:

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

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

但是在接收到的headers中,我看到了我的服务器IP,所以我想大家都会受到影响。

如何确保服务器不负责任?我需要确保 1 个人不能搞砸其他人。

【问题讨论】:

  • 除非你不能给每个用户一个他们自己的IP,否则我想你的IP总会有被追究责任的风险。你必须确保你的用户不会发送垃圾邮件......
  • 我见过 CRM 可以让您使用您的 SMTP 信息从他们的服务器发送电子邮件。你认为他们如何处理这个问题?
  • 我不知道 - 也许他们有一些防洪措施,或者他们的用户的信用卡信息已存档,用于一些安全措施......也就是说,我'我不完全确定 originating IP 将受到多大的影响。通常,我看到的大多数反垃圾邮件都围绕发送服务器....但是,将原始IP 也考虑在内是完全有意义的。不确定

标签: php email networking smtp


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    既然您在从 PHP 发送的电子邮件的标题中看到您的服务器 IP,我是否正确地假设:

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

    如果这是真的,您在保护用户免受入侵和发送垃圾邮件方面确实有一些有限的选择。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 1970-01-01
      • 2016-02-09
      • 2017-05-19
      • 2013-03-13
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      相关资源
      最近更新 更多