PHP 邮件中的投递报告和已读回执
Posted
技术标签:
【中文标题】PHP 邮件中的投递报告和已读回执【英文标题】:Delivery reports and read receipts in PHP mail 【发布时间】:2010-11-07 20:58:08 【问题描述】:你们中的任何人都知道要添加哪些邮件标题才能获得已读回执和送达报告吗?现在是当您使用普通的 php 邮件功能时。没有像 phpMail 这样花哨的附加脚本/类。
【问题讨论】:
【参考方案1】:对于阅读确认:
您必须添加 X-Confirm-Reading-To
标头。
X-Confirm-Reading-To: <address>
交货确认:
您必须添加 Disposition-Notification-To
标头。
使用详情见RFC 3798。
此类内容的一般提示:
使用您选择的邮件客户端生成一封带有所需参数的电子邮件,发送给您自己并查看邮件来源。
在那里,您可以找到您正在寻找的功能所添加的必要标题。然后阅读 RFC 或 google 以了解有关标头的具体细节。
【讨论】:
优质帖子。 2 1/2 年后仍然有用。 优质帖子。 4 1/2 年后仍然有用。 优质帖子。 6 1/2 年后仍然有用。 优质帖子。 7 年后仍然有用。 优质帖子。 8 年后仍然有用。【参考方案2】:Gmail 屏蔽方法如:
img src="http://yourdomain/tracking.php?id=EMAIL_ID"
这是因为图像是从代理中检索的。由于 URL 包含变量而不是真实的图像文件,因此不会显示图像。跟踪器将毫无用处。
我在构建自己的时事通讯系统时亲身经历了这一点。
【讨论】:
尼克你找到了解决办法吗?我正在制作我的通讯系统,我需要验证它是否已打开 您可以使用example.com/tracking/email_without_symbols/image.png 之类的 URL 并配置您的 http 服务器以提供此类文件。使用 nginx 应该可以【参考方案3】:您还可以做的是嵌入一个 img(假设您以 text/html 格式发送电子邮件)标签,其来源中包含以下内容:
<img src="http://yourdomain/tracking.php?id=EMAIL_ID" >
其中 tracking.php 是一个文件,当电子邮件也打开时会打开(假设图像已激活),然后您可以在您身边捕获参数 id 并根据存储的 id(数据库或文件)检查它。
我这样做是为了让时事通讯经理计算观看次数。
【讨论】:
这可能会增加电子邮件被视为垃圾邮件的风险,因为您正在嵌入宽度和高度为零的 img。【参考方案4】:X-Confirm-Reading-To: Disposition-Notification-To: 或 Return-Receipt-To:
【讨论】:
以上是关于PHP 邮件中的投递报告和已读回执的主要内容,如果未能解决你的问题,请参考以下文章
PHP:从 POP3 或 IMAP 下载传入的电子邮件,对其进行解析,并在服务器上将其标记为已读/删除