Html 有没有办法跟踪电子邮件是否已打开?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/822862/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Is there any way to track whether an email has been opened?
提问by AlexeyMK
I'm beginning to work on mailing-list software we use internally (EDIT: though we send emails externally as well, so we can't enforce policy on mail clients). Is there any way to track whether, when I send an email to a particular user, that email has been opened as opposed to being marked as junk or being deleted without being opened?
我开始研究我们内部使用的邮件列表软件(编辑:虽然我们也向外部发送电子邮件,因此我们无法对邮件客户端执行策略)。当我向特定用户发送电子邮件时,是否有任何方法可以跟踪该电子邮件是否已被打开,而不是被标记为垃圾邮件或在未打开的情况下被删除?
The simplest approach that I thought of was to serve a one-pixel custom image that would need to be loaded from our servers, but a number of mail clients block this approach. Is there an alternate approach that gets better data?
我想到的最简单的方法是提供一个需要从我们的服务器加载的单像素自定义图像,但是许多邮件客户端阻止了这种方法。是否有其他方法可以获得更好的数据?
采纳答案by Lou Franco
Mail clients block pretty much all of these kinds of attempts. The best idea is to give them an image that they would want to see if they read the message, and therefore they choose to display images in their mail client.
邮件客户端几乎阻止了所有这些类型的尝试。最好的办法是给他们一个图像,如果他们阅读邮件,他们会想要看到,因此他们选择在他们的邮件客户端中显示图像。
回答by ólafur Waage
There is no bulletproof way to check if a user has read your mail. And there shouldn't be IMO.
没有万无一失的方法来检查用户是否已阅读您的邮件。并且不应该有 IMO。
回答by tylerlindell
I have been looking for an answer to this question for a few weeks now and found several options out there. The one I like will send the 'open' data to Google Analytics.
几个星期以来,我一直在寻找这个问题的答案,并找到了几个选项。我喜欢的人会将“开放”数据发送到 Google Analytics。
The image below should be inserted into the body of your email. Each person I send an email to has a unique customer number so i can see opens/unique opens but it must not identify a specific customer according to Google's terms.
下面的图片应插入到您的电子邮件正文中。我向其发送电子邮件的每个人都有一个唯一的客户编号,因此我可以看到打开/唯一打开,但不能根据 Google 的条款识别特定客户。
<img src="http://www.google-analytics.com/collect?v=1
&tid=UA-12345678-1
&cid=12345
&t=event
&ec=email
&ea=open
&el=recipient_id
&cs=newsletter
&cm=email
&cn=Campaign_Name
" />
回答by JonnyBoats
You can ask for a read receipt (an email feature), but most users consider this a real pain.
您可以要求阅读回执(电子邮件功能),但大多数用户认为这很痛苦。
回答by JonnyBoats
Add a transparent gif to the email. When your users will display the image, it will query your server and adds a line to your document. It is aka render rate. This is what email marketers used to call "open rate".
在电子邮件中添加一个透明的 gif。当您的用户显示图像时,它会查询您的服务器并向您的文档添加一行。它也就是渲染率。这就是电子邮件营销人员过去所说的“打开率”。
You can use MxM (http://www.m--x--m.net) to deliver your emails. They add that automatically and manage deliverability and antispam for you. We have open sourced that piece of code but it is in Python.
您可以使用 MxM ( http://www.m--x--m.net) 来发送电子邮件。他们会自动添加并为您管理可传递性和反垃圾邮件。我们已经开源了那段代码,但它是用 Python 编写的。
(disclosure, I am the founder of this company)
(披露,我是这家公司的创始人)
回答by Pieter B
The only way of tracking whether users read (downloaded) your email is by putting the information not in the email but in something like an image or an external html page and only have your email link to said resource (either through external browser or enabling images in email client).
跟踪用户是否阅读(下载)您的电子邮件的唯一方法是将信息不放在电子邮件中,而是放在图像或外部 html 页面之类的内容中,并且只有您的电子邮件链接到所述资源(通过外部浏览器或启用图像)在电子邮件客户端中)。
回答by celwell
You might be able to meet your needs by redistributing the content. Design the email in such a way that users who care about your email will click a certain link to learn more / continue reading. In other words, I advocating avoiding this problem because there isn't a solid solution.
您可以通过重新分发内容来满足您的需求。以这样一种方式设计电子邮件,即关心您电子邮件的用户将单击某个链接以了解更多信息/继续阅读。换句话说,我主张避免这个问题,因为没有一个可靠的解决方案。
回答by Jeremy Huiskamp
If this is internal I assume you own the IMAP server (or Exchange or what-else-have-you). It'd be kind of ugly, but that would be the "proper" way to know if the email client has at least displayed the message. You can't really guarantee that it's been read of course :-p
如果这是内部的,我假设您拥有 IMAP 服务器(或 Exchange 或其他拥有的东西)。这有点难看,但这将是了解电子邮件客户端是否至少显示消息的“正确”方式。当然,您不能真正保证它已被阅读:-p
回答by Cuga
You could potentially send out the mail with "read receipts" requested and then enforce the policy that all mail clients automatically send notices upon opening.
您可以发送请求“已读回执”的邮件,然后强制执行所有邮件客户端在打开时自动发送通知的策略。