代码之家  ›  专栏  ›  技术社区  ›  Sajal Dutta

电子邮件接收保证

  •  1
  • Sajal Dutta  · 技术社区  · 16 年前

    我们的客户有时无法收到我们发送的电子邮件。这是一个巨大的损失。我如何确保他们收到电子邮件,以便在另一端未收到电子邮件时,程序可以重新发送电子邮件或对此采取措施。

    6 回复  |  直到 16 年前
        1
  •  9
  •   Paul Tomblin    16 年前

    以上建议都不会100%有效。许多电子邮件客户会(正确地)拒绝加载外国图片,否定了“网络漏洞”的用处。他们还将拒绝(或无法)返回Outlook样式的“收据”。而且许多邮件服务器故意(为了遏制垃圾邮件)或错误(由于配置错误)都不会返回反弹消息。或者可能是一个过于激进的垃圾邮件过滤器吃掉了你的邮件,所以它到达了,但最终用户从未看到过。此外,邮件到达最终用户或被退回需要花费数小时或数天的时间,这一点也不重要。您如何将这些延迟通知或退回与您4天前发送的邮件关联起来?

    所以基本上,不管你做什么,你都可以抓住一些但不是全部。我要说的是,任何依赖于能够确定最终用户是否收到您的邮件的设计都存在致命缺陷。

        2
  •  5
  •   tvanfosson    16 年前

    您可以做的一件事是设置一个回退地址,接收任何无法投递的邮件。使用回跳地址作为发件人地址——您可能需要一个不同的地址作为回复地址,以便正确引导回复。

    每天检查回跳邮箱,并与客户联系以获取失败邮箱的更新电子邮件地址。如果故障只是间歇性的,您可以在求助于手动联系人之前自动重试失败的地址。

    这将在应用程序外部获取一些代码,这些代码扫描邮箱,保留一些有关联系人数量等的状态信息,并尝试重新发送。

    根据您生成邮件的方式,您可能能够简化此过程:为您发送的每封邮件生成一个唯一的回退地址。你可以用弹跳+1234@example.com例如

    许多SMTP服务器将允许您使用+后面的部分作为外部脚本的参数,等等。

    问题是,许多(损坏的)SMTP服务器没有返回足够的信息并弹出以识别原始邮件——有时,当涉及到转发时,您甚至无法取回原始收件人。。。

    通过上述技巧,您可以可靠地将传出的消息与传入的反弹关联起来。

        3
  •  3
  •   Niyaz    16 年前

    没有标准方法可以知道电子邮件是否到达目的地。不过,许多电子邮件客户端支持不同类型的收据。如果你愿意,你可以使用其中任何一种。

    有许多技术,比如在电子邮件中添加要从web服务器获取的图像。当用户阅读电子邮件时,图像请求会发送到您的服务器,您可以捕获事件。

    问题是没有办法知道邮件 没有达到 目的地。

        4
  •  2
  •   Dave Swersky    16 年前

    前世我曾在一个批量电子邮件系统上工作。可交付性是我们的主要问题之一。无法发送电子邮件的最常见原因是垃圾邮件过滤器。

    • 我们曾经 Return Path 测试电子邮件是否有类似垃圾邮件的气味。
    • 如果你发送了很多电子邮件,你需要确保你的SMTP服务器没有被列入黑名单。
    • 提醒用户将发件人地址添加到“安全发件人”列表中。
    • 使用收集回跳的系统,并使用它们来清理邮件列表。这也将有助于你远离黑名单。
    • 如果电子邮件是关键的,考虑发送他们的回执要求。这并不能真正保证任何事情,但它可能会为您提供一些关于实际可交付性的指标。
        5
  •  1
  •   Chris Ballance    16 年前

    没有真正好的方法来确定电子邮件是否真的到达了他们的收件箱,你只能确认你发送了它。附上收据,让你知道他们什么时候打开它?

        6
  •  0
  •   cbrulak    16 年前

    Microsoft Outlook提供了类似的功能,但它基于电子邮件客户端。我不确定是否有其他客户,如雷鸟,支持这一点。

    但是,协议中没有指定收据的内容。

    一个可行的选项是:发送一个链接到一个生成网页,并监视该网页的点击率。然而,这也有其自身的问题:保密性等。