【问题标题】:Preventing spam through e-mail frontend通过电子邮件前端防止垃圾邮件
【发布时间】:2009-02-11 15:35:50
【问题描述】:

我为我的游戏编写了一个错误报告器,在它启动后,用户可以查看数据并通过 HTTP 将报告提交到我的网络服务器。如果提交失败,用户可以选择保存报告并稍后重试,使用错误报告器本身,使用 Web 表单上传文件,或将报告附加到电子邮件中。我知道我可以通过分析源 IP 来防止 HTTP 上的垃圾邮件,但我不确定在通过电子邮件接收报告时如何处理这个问题。有什么想法吗?

谢谢, 抢

编辑:

附件将始终为 JSON 格式;任何其他都将被拒绝。我只是担心有人会这样做:

for i = 1, 10000 do
  json = generate_valid_json()
  send_email(json)
end

用噪音淹没我的错误跟踪器。

【问题讨论】:

    标签: email spam


    【解决方案1】:

    除了常规的垃圾邮件过滤器等之外,我确实对此有建议。

    如果在您的应用程序或页面中,您可以使用 Mailto: 链接指定 Subject=,请在您希望收到的邮件主题中放置一个唯一 ID。

    这样您就实现了 2 个目标 - 识别主题中的 ID,您将知道它不是垃圾邮件,如果该 ID 与您的错误报告相关联,那么当它到达时您就已经知道将它放在哪里。

    编辑:这不一定必须在主题中,或者 - 可以在正文中,或者如果您可以支持包罗万象,您可以简单地给他们一个唯一的 ID 电子邮件地址发送到...比如 bug-394291@bugs.whatever.com。

    【讨论】:

    • 我喜欢 ID 的想法。我可以以某种方式在客户端生成一个 ID(有点像 CD 密钥),并确保每个 ID 都经过验证并且只使用一次。但是,由于我的游戏及其所有代码都是开源的,因此如果他们真的愿意,有人可能会伪造这些 ID。
    • 您可以将 ID 生成服务变成 Web 服务。这样您就可以在游戏代码之外控制 ID 的生成。
    • 是的,但请记住,只有在提交到我的 Web 服务器失败时才会保存报告。 =)
    • @Rob - 然后在电子邮件服务器上托管 Web 服务;)不,如果您的基础设施出现故障,电子邮件可能无论如何都无法工作,所以我喜欢下面 Aaron 的想法情况...
    【解决方案2】:

    第一次尝试上传失败时如何保存报告。当用户启动游戏时,启动一个后台线程,尝试再次发送报告。最终,它应该可以工作,而用户将不得不做任何事情。

    【讨论】:

    • 我喜欢这个主意!我仍然喜欢保留让用户自己发送的选项,但我一定会在未来实现这一点!
    【解决方案3】:

    听起来您正试图区分来自您以前从未交谈过的随机人的电子邮件、向您发送附件的电子邮件和垃圾邮件。

    祝你好运!

    • 您能经常更改电子邮件地址吗?
    • 需要特定的主题行?
    • 需要纯文本电子邮件?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多