我们的客户有时无法收到我们发送的电子邮件。这是一个巨大的损失。我如何确保他们收到电子邮件,以便如果在另一端没有收到,该程序可以重新发送或做一些事情。
答案 0 :(得分:9)
以上建议均不会100%有效。许多电子邮件客户端(正确地说)会拒绝加载外来图像,否定“网络错误”的用处。他们也将拒绝(或无法)返回Outlook风格的“收据”。许多邮件服务器故意(遏制垃圾邮件)或错误(由于配置错误)都不会返回退回邮件。或者可能是一个过于激进的垃圾邮件过滤器吃了你的邮件,所以它到了,但最终用户从未见过。此外,还有一些小问题需要花费数小时或数天的时间才能到达最终用户或反弹,以及如何将这些延迟通知或退回与4天前发送的邮件相关联?
所以基本上,无论你做什么,你都可以抓住一些但不是全部。我会说任何依赖于能够确定最终用户是否收到你邮件的设计都存在致命缺陷。
答案 1 :(得分:5)
您可以做的一件事是设置一个退回地址,接收任何无法送达的邮件。使用反弹地址作为发件人地址 - 您可能需要另一个回复地址,以便回复得到正确定位。
每天检查一次退回邮箱,并与客户联系,以获取失败的邮箱地址。如果故障只是间歇性的话,您可以在诉诸手动联系之前自动重试失败的地址。
这将需要您的应用程序之外的一些代码扫描邮箱并保留一些关于联系人数量的状态信息等,并尝试重新发送。
根据您生成邮件的方式,您可以更轻松地完成此过程:为您发送的每封电子邮件生成唯一的退回地址。例如,您可以使用bounces +1234@example.com。
许多SMTP服务器允许您使用+之后的部分作为外部脚本的参数等。
问题是许多(损坏的)SMTP服务器没有返回足够的信息以反弹以识别原始邮件 - 有时,当涉及转发时,您甚至没有收回原始收件人...
通过上述技巧,您可以可靠地将外发消息与传入的退回相关联。
答案 2 :(得分:3)
没有标准方法可以知道电子邮件是否到达目的地。许多电子邮件客户端支持不同类型的收据。如果需要,您可以使用其中任何一种。
有一些方法可以知道用户何时实际阅读电子邮件。
有许多技术可以在您的电子邮件中添加要从Web服务器获取的图像。当用户阅读电子邮件时,图像请求将发送到您的服务器,您可以捕获该事件。
问题是没有办法知道邮件没有到达目的地。
答案 3 :(得分:2)
我曾在以前的生活中使用批量电子邮件系统。可交付性是我们的主要问题之一。未传送电子邮件的最常见原因是垃圾邮件过滤器。
以下是我们采取的确保最高交付率的步骤:
答案 4 :(得分:1)
确定电子邮件是否实际到达收件箱并不是一个好方法,您只能确认是否已将其发送。附上收据,让他们知道什么时候打开它?
答案 5 :(得分:0)
Microsoft Outlook提供类似的功能,但它基于电子邮件客户端。我不确定其他客户,如Thunderbird,是否支持此功能。
但是,协议中没有指定收据的内容。
可能有效的一个选项:发送指向生成网页的链接并监控该网页的点击次数。然而,这提供了自己的问题:机密性等。