在本教程中,我们将描述两种简单的技术来保护 html 电子邮件链接不被垃圾邮件发送者抓取。尽管这些技术不能保证完全成功,但它们会为您提供额外的保护。
Envato 元素上的电子邮件模板
在我们深入研究之前,不要忘记您可以通过 Envato Elements 订阅下载无限的电子邮件模板,以便与 mailchimp、Campaign Monitor 和许多其他电子邮件服务提供商一起使用。Envato Elements 还让您可以访问数以千计的其他创意资产,例如库存照片、图形、视频模板、音频、photoshop 动作,应有尽有!
Envato Elements 7 天免费 ,无承诺。如果您不喜欢它,请在免费试用期间随时取消,我们不会向您收费!
HTML 电子邮件链接有什么问题?
HTML 电子邮件链接完全符合您的要求:当用户单击它们时,他们会打开默认电子邮件应用程序并开始一封新电子邮件,其中联系人电子邮件地址(可能还有其他详细信息)已经填写。它们真的很方便!但是,电子邮件地址(链接中的文本形式或href
属性中的形式)可以被机器人和抓取工具读取,这通常会导致该电子邮件地址进入各种垃圾邮件邮件列表。
我们正在寻找的解决方案旨在从 dom 中隐藏电子邮件地址,因此网络爬虫无法找到它们并将它们放入垃圾邮件列表。
一个特定的电子邮件链接示例
让我们更详细地描述这个问题,然后继续讨论解决方案。
链接不会在嵌入式演示中触发,因此请务必在完整页面视图(调试模式)中查看它们。
考虑以下示例(调试模式):
在这里,我们定义了三个链接,单击这些链接将打开用户的默认电子邮件客户端,其中预先填写了收件人的地址和电子邮件主题。我们通过在属性mailto:
的开头附加方案来做到这一点。href
除了subject
参数,我们还可以传递一些东西,比如cc
and body
。另请注意,主题值是 URL 编码的(空格被替换为%20
)。例如:
<a href="mailto:hello@forecastr.com?subject=General%20Questions">General Questions</a>
像这样显示的电子邮件地址构成了 DOM 的常规部分。这是一个问题。机器人可以很容易地找到它们,并使用批量广告和其他不需要的东西来定位它们。
HTML 电子邮件链接解决方案 #1:编码
在第一种技术中,我们将使用编码实体来表示电子邮件地址的所有字符。例如,“h”字符将由实体表示h
。不同的在线工具可以提供此功能,就像我在示例中使用的那样。
这是相关的演示(调试模式):
这是第一个链接现在的样子:
<a href="mailto:hello@forecastr.com?subject=General%20Questions">General Questions</a>
如果您想用实际的电子邮件地址替换文本链接,以便人们可以看到并选择它们,您所要做的就是用下面的演示(调试模式)中的编码实体替换它们:
这是一种足够简单的方法,并且会提供合理的保护;它将阻止大多数机器人获取电子邮件地址。
对于 wordpress 网站,您可以使用电子邮件地址编码器插件 自动执行此过程 。
HTML 电子邮件链接解决方案 #2:javascript
对于第二种技术,我们将使用一点点 JavaScript。我们链接的href
属性值默认为空。此外,每个链接都将具有data-part1
、data-part2
和data-part3
属性。第一个属性的值将对应用户,第二个属性的值对应域名,第三个属性的值对应域扩展。
当页面加载时,我们将遍历所有页面链接并href
通过组合上述属性来更新它们的属性值。
这是相关的演示(调试模式):
这是此示例中第一个链接的样子——机器人不太可能以这种形式解释我们的数据:
<a href="" data-part1="hello" data-part2="forecastr" data-part3="com">General Questions</a>
同样,如果您需要人们能够阅读电子邮件地址,请考虑以下 javaScript 解决方案(调试模式):
此技术需要启用 JavaScript 才能工作。
结论
在本教程中,我们研究了保护 HTML 电子邮件链接和打击垃圾邮件的两种快速方法。正如一开始所说,它们都不能保证完全的垃圾邮件保护,而且每个都有缺点。当然,每个机器人收集数据的方式不同,因此它们的效率也各不相同。我们至少能做的是尝试不同的方法,使他们在窃取我们的电子邮件地址方面的工作更加困难。
还有其他方法我们没有在这里介绍,可能更有效,所以如果您知道其中任何一种方法,请务必告知我们。
- 一个特定的电子邮件链接示例