我正在用PHP编写一个工具,它将使用mail()向成员发送通知。有没有办法在收件人打开电子邮件时收到通知?虽然有些系统不支持,但对于那些系统,我该怎么办呢?
更新:
测试不同的方式。最好的似乎包括1x1图像。避免包含徽标和其他图像。被封锁时它们看起来很难看。 1x1似乎有一个太小的区域来阻止显示安全警告。
答案 0 :(得分:1)
通过在邮件中添加可选标头,在电子邮件中发出请求,如下所示: Disposition-Notification-To:sendReceiptToAddress
只需将此类内容添加为邮件消息的标题之一:
$ headers。=“Disposition-Notification-To:\ r \ n”;
此外,如果这是一个HTML格式的电子邮件(并且您有一个Web服务器来处理请求),您可以向PHP脚本添加一个请求,该脚本将向电子邮件正文本身返回一个1x1透明跟踪像素,网址如:
http://mydomain.com/emailtracker/track.php?message=MyMsgId&user=MyUserId
这也不是100%,因为人们通常可以选择不下载电子邮件的图像。
答案 1 :(得分:0)
您可以添加具有唯一ID的图像。加载图像后,您就知道邮件已打开(图像实际上可能是一个脚本)。
问题在于,大多数客户端不会自己在html邮件中加载图像以保护隐私。收件人必须首先授权。
另一种方法是请求阅读通知(收件人也必须授权) - 这将发送到From或Return-Path指定的电子邮件地址。
答案 2 :(得分:0)
我认为在PHP中不可能。
即使使用图像,例如如果电子邮件客户端屏蔽了图片,则<img src="http://yourdomain.com/received_mail.php?id=mail_id"?>
将无效。
您可以尝试添加Disposition-Notification-To:your@email.com
标题以使用您的邮件服务器接收和提醒,然后如果收到,则将邮件标记为已读。
答案 3 :(得分:0)
如果您认为用户在下载图片之前会点击电子邮件中的链接,您可以将链接重定向到您设置的跟踪页面以进行跟踪。