我有一个PHP脚本,可以发送需要到达目的地的重要电子邮件。我知道如何检查电子邮件是否成功发送,唯一的问题是知道它是否真的送到了收件人。

有什么建议吗?如果无法知道,你会如何处理这种情况?

有帮助吗?

解决方案

如果您使用基于HTML的电子邮件,则可以在其中包含图像,其中包含具有收件人唯一信息的URL。您可以构建应用程序,以便这些URL触发一些代码,以便在返回所需的图像数据之前将该特定电子邮件标记为已读。

为了完全有效,图片必须构成电子邮件的关键部分,以便收件人 让他们的电子邮件客户端抓取图像。您还可以使电子邮件的纯文本部分包含用于检索完整邮件的URL,再次允许您跟踪收据。

你采取这些想法的程度取决于为什么你需要知道它已被阅读以及你希望在多大程度上用电子邮件来惹恼收件人他们无法削减,在移动设备上轻松阅读,使用屏幕阅读器等进行聆听...

其他提示

传递状态通知是常用方法: http://www.sendmail.org /~ca/email/dsn.html

除非您使用该微软电子邮件并且读者未禁用阅读回执,否则您无法判断是否已阅读电子邮件。

编辑:我还没有进展到HTML电子邮件,所以我从未考虑过阅读通知。

没有办法确切知道。即使远程服务器接受该消息,也不保证它不会被垃圾邮件过滤器或其他方式过滤。

所有跟踪链接和webbugs都假定人们实际打开电子邮件并启用远程图像或点击链接。这都是有缺陷的。

为确保收到电子邮件但未退回,我会执行以下操作:

  1. 添加 Errors-To 标题(设置为bounce@domain.com)
  2. 添加 Return-Path 标题(设置为bounce@domain.com)
  3. 拿起电子邮箱(bounce@domain.com)并解析电子邮件
  4. 这使您可以检查电子邮件何时返回,根据邮件内容,您可以找出哪一个被退回/回来。

不幸的是,没有100%的方法可以确定邮件是否已发送到用户的收件箱。即使服务器接受了该消息,它也可能被垃圾邮件过滤器阻止或者异步退回。

很多人都提到了网络错误跟踪风格技术。这些适用于营销人员:他们可以根据样本量做出假设。它们需要HTML电子邮件,并且用户在HTML中加载图像。在某些情况下会自动发生这种情况,但很多时候人们必须专门点击“下载图片”按钮。

另一种方法是使用 Goodmail 。他们的部分服务是跟踪实际传递和打开的消息。当然,它需要花钱,而且并非所有邮件提供商都受到支持。同样,它主要是一种营销工具。

您还可以在链接中隐藏跟踪脚本。例如,您创建一个如下所示的URL:

http://trackingserver/track/$messageid/http://real.url/goes/here

track 脚本然后在数据库中记录“click”并将客户端重定向到 http://real.url/goes/here 。然后,您需要有令人信服的理由每次都点击该网址。

为什么你想知道有人看过邮件?

从法律上讲,你可能不会想出在法庭上(说你想确保有人读过重要文件),因为你无法证明读者是收件人。

安全方面,您的邮件将被任何体面的垃圾邮件过滤器标记为垃圾邮件并在任何人看到之前删除,因为在邮件中添加奇怪的链接或网络错误或图像正是垃圾邮件发送者所做的。如果你想卖东西,这是确保你不会的绝对方式。

更新:如果您需要确保人们已阅读某些内容,我建议您使用链接或指针向他们应阅读的文档发送邮件。不要在链接中添加Web错误或个性化ID。在文档中,告诉他们签署文档并返回签名副本作为他们已阅读的证据。

我猜以上所有:HTML中的图片,如果点击某些内容,则会跟踪链接。有第三方服务,如ReturnPath / Goodmail可以提供帮助。

最好的建议是确保您的发送清单是干净的,IP地址具有良好的声誉,反转dns / spf记录,良好的取消订阅和退回处理活动,垃圾邮件检查内容,并让收件人添加你到他们的地址簿。

这将为您提供更好的交付机会......

森迪普•.//

试试这个:

使用HTML编写电子邮件(使用PHP并不是那么棘手)。 在该电子邮件中,包括一张图片(可能只是一个漂亮的徽标或其他东西)。 这张照片将是一张特殊的照片...它的src将是,例如, myserver.com/images/logo.gif?recipient@email.com 。需要为发送电子邮件的每个人动态生成此src。然后,如果收件人打开电子邮件,电子邮件客户端将向您的服务器询问logo.gif?recipient@email.com

因此,如果您的服务器收到该图片的请求,您就会知道recipient@email.com收到了您的消息。

您可以在网址末尾为代码创建一种特殊格式,这样它不仅可以告诉哪个人,还可以告诉他们回复哪个电子邮件。

请注意,垃圾邮件发送者可以判断电子邮件地址是否有效。因此,某些软件可能会询问用户他们是否认为您是垃圾邮件!此外,某些用户将无法获得图像支持(或将关闭此支持)。

祝你好运!

如果是内部的,请发送电子邮件,但不要将邮件内容放入电子邮件中。提供指向网站的链接,但提供网址中的标识符,以便您可以将网页视图与电子邮件联系起来。

如果它是外部的,你仍然可以这样做,只要另一端的人是合作的。

您还可以在目标邮件系统上设置一个vanilla帐户并进行检查。如果您收到该帐户的电子邮件,则可能是系统未将其过滤掉。

您还可以要求接收系统的管理员在收到广受欢迎的电子邮件(您知道,卷曲您的确认网页的脚本)上退回,但这需要很多合作。虽然在那时,通过Web服务传递消息可能更容易。

如果我记得正确,只要您发送成功,您就可以放心,它至少已被接收邮件服务器接受。

网络错误可能会为您提供类似已阅读回执的内容,如果这就是您的回复问。

SMTP协议是异步的,因此用户邮件客户端可以返回唯一保证的反馈。如果交付有问题,您将收到退回电子邮件到信封发件人中定义的地址(邮件标题返回路径)这些退回的时间是不可预测和未定义的。 到目前为止,HTML电子邮件正文中的跟踪像素是报告用户实际打开电子邮件的最佳方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top