我有一个发送关键电子邮件的PHP脚本。我知道如何检查电子邮件是否成功发送。但是,有没有一种方法可以验证电子邮件是否到达了目的地?
我有一个发送关键电子邮件的PHP脚本。我知道如何检查电子邮件是否成功发送。但是,有没有一种方法可以验证电子邮件是否到达了目的地?
传送状态通知是通常的方式:http://www.sendmail.org/~ca/email/dsn.html
除非使用那个微软电子邮件工具并且读者没有禁用已读回执,否则无法确定电子邮件是否已读。
编辑:我还没有进入HTML电子邮件,所以我从未考虑过阅读通知。
没有确切的方法可以知道。即使远程服务器接受了消息,也不能保证它不会被垃圾邮件过滤器或其他方式过滤。
为什么你想知道别人是否阅读了邮件?
从法律角度来看,你无法证明阅读者就是收件人,因此任何你能想到的方法都无法在法庭上成立(比如你想确认某人已经阅读了一份重要文件)。
从安全角度考虑,如果你在邮件中添加奇怪的链接、网络追踪器或图片等内容,那么你的邮件会被任何一个好的垃圾邮件过滤器标记为垃圾邮件并被删除。而且如果你想销售某些东西,这绝对是一个让你失败的死路。
更新:如果你需要确保人们已经阅读了某些内容,我建议你发送带有链接或指向他们应该阅读的文档的邮件。不要在链接中添加网络追踪器或个性化ID。在文档中,告诉他们签署文件并返回签署副本作为证明他们已经阅读了它。
很遗憾,没有一种100%的方法可以确定消息是否已传递到用户的收件箱。即使服务器接受了该消息,它也可能被垃圾邮件过滤器卡住或异步地反弹回来。
许多人提到了 Web Bug 跟踪技术。这对于营销人员来说效果很好:他们可以根据样本量进行假设。它们需要 HTML 电子邮件和用户在 HTML 中加载图像。这在某些情况下会自动发生,但很多时候人们必须专门点击“下载图像”按钮。
另一种方法是使用 Goodmail 。他们的服务部分包括跟踪哪些消息实际上被传递并打开。当然,这需要花费资金,并且并非所有邮件提供商都受支持。同样,它主要是一个营销工具。
您还可以在链接中隐藏跟踪脚本。例如,您可以创建一个类似于以下内容的 URL:
http://trackingserver/track/$messageid/http://real.url/goes/here
< p > track
脚本会记录数据库中的“点击”并将客户端重定向到 http://real.url/goes/here
。然后,您需要有一个令人信服的理由每次都点击该URL。
试试这个:
使用HTML编写电子邮件(使用PHP并不那么困难)。
在该电子邮件中,包含一张图片(也许只是一个漂亮的标志或其他东西)。
这张图片将是一张特殊的图片...它的src将是,比如说,myserver.com/images/logo.gif?recipient@email.com
。这个src需要为每个收到电子邮件的人动态生成。然后,如果收件人打开了邮件,邮件客户端将向您的服务器请求logo.gif?recipient@email.com。
您可以为URL末尾的标记创建一种特殊格式,以便不仅告诉哪个人,还告诉他们正在回复哪个电子邮件。
请记住,这就是垃圾邮件发送者用来确定电子邮件地址是否活动的方法。因此,某些软件可能会询问用户是否认为您是垃圾邮件!此外,有些用户可能没有图像支持(或已关闭此支持)。
祝你好运!
如果是内部的话,发送电子邮件,但不要在电子邮件中放置消息内容。提供一个网站链接,并在URL中放置标识符,以便您可以将页面查看与电子邮件联系起来。
如果对方配合的话,即使是外部的,您仍然可以这样做。
您还可以在目标邮件系统上设置一个普通账户并检查它。如果您在该帐户收到电子邮件,则很可能该系统未设置过滤器。
您还可以要求接收系统的管理员给您发送已成功接收的电子邮件的回复(您知道,脚本会卷曲您的确认网页),但这需要很多合作。尽管在那时,通过Web服务传递消息可能更容易。
如果我没记错的话,只要你成功发送了邮件,就可以确信它至少已被接收邮件服务器接受。