2010-01-07 73 views
4

一旦我们使用mail()函数从php发送电子邮件,是否有任何方法检查邮件是否打开?验证电子邮件打开

可能是电子邮件中的任何类型的数据库插入代码..?

或从网站调用任何功能?

任何可能性.........

我互联网上整天搜索,但我以前不发现任何答。

谢谢

+3

没有100%精确的方法来做到这一点。 – 2010-01-07 18:46:00

回答

10

Szere Dyeri指出,小图像 - 称为Web Bugs是唯一直接的方式,但现在由于隐私的原因,它们日益受到每个主要邮件客户端的阻挠和阻挡。我不认为他们是一个可靠的方式来判断是否已经阅读了电子邮件。

有一个合法的方式通过添加下面的头添加到电子邮件,请求已读回执:可以通过课程的接收者被关闭

Disposition-Notification-To: [email protected] 

发送此通知。

6

在电子邮件内容中添加一个看不见的小尺寸图像。并且,让图片指向您网站上的唯一网址。您将知道该电子邮件在访问该网址后即被打开。但是这在默认情况下不会在电子邮件中显示图像的电子邮件客户端中不起作用。

我发现这个网络服务名为Get Notify。他们声称他们是免费的,但你需要自己核实。

+7

几年前,几乎所有的电子邮件客户端(包括网络邮件客户端)在默认情况下都会阻止外部图像,到了很大程度上阻止使用这种确定邮件是否已打开的技术。 – nielsm 2010-01-07 18:45:34

+0

请不要为公众服务。这几乎被100%认为是电子邮件中的“可疑”活动。许多应用程序将直接阻止这种行为,并且许多扫描应用程序将查找用户无法看到的图像(0,0大小,100%透明等)。 – GrayWizardx 2010-01-07 18:51:46

+1

我同意GrayWizard,最好将真实图像包含在电子邮件,就像徽标一样,并在url内发送唯一ID,如,并且该URL为实际图像吐出了MIME头和二进制数据,而不是HTML页面。 – TravisO 2010-01-07 19:25:52

2

要做到这一点,唯一的方法是将图像包含在服务器上的电子邮件中,该电子邮件中包含与要发送电子邮件的用户相匹配的密钥。例如,我发送电子邮件给[email protected]。在我的数据库(或其他存储系统)我已经[email protected]匹配键0100在他的电子邮件,我包括图像,像

<img src="http://www.myserver.com/image/?key=0100" /> 

在服务器上,/图像/需要返回的图像,甚至1个像素.png。现在您拥有了用户分配的密钥并可以相应地执行操作。

0

要做到这一点的一种合法方式是只发送电子邮件中的文本信息,要求用户按照可以跟踪的链接。沿线的东西:

//lots of good info to identify yourself/company 
Thank you for your request... 

Please follow this link: http://somewhere/ for tracking information 

不幸的是,这留在用户手中以确认您的请求。这被认为是最尊重的方式。

如果您的应用程序不是面向公众的(即公司的内部应用程序),那么已发布的img src方法是一种很好的技术。

1

许多人回应说,添加“跟踪图像”是一种“皱眉”的方法和“被认为”可疑的“活动”。

出于好奇,可以说我们没有包括一个单独的跟踪图像,而是我们包括现有的图像在这种方法例如像添加到你的公司的标志形象,如:

的http:// myCompany的。 com/images/logo.png?track = 2742'>

至少使用这种方法,您的跟踪图像不会被任何扫描应用程序阻止。