【发布时间】:2010-09-23 10:52:25
【问题描述】:
我正在创建一个面向 Internet 的公共网站,其中包含其销售人员的电子邮件地址。
我必须使用哪种编程选项来生成“mailto”并显示来自该地址的电子邮件,但限制垃圾邮件机器人获取该地址?
【问题讨论】:
标签: email protection spam
我正在创建一个面向 Internet 的公共网站,其中包含其销售人员的电子邮件地址。
我必须使用哪种编程选项来生成“mailto”并显示来自该地址的电子邮件,但限制垃圾邮件机器人获取该地址?
【问题讨论】:
标签: email protection spam
Recaptcha 具有基于email protection 的出色捕获。您可以使用站点反馈链接在我的website 的任何页面底部看到它已实现。
【讨论】:
我知道 Facebook 通过显示图像而不是文本来做到这一点。当然,他们可以在图像上使用 OCR,但为什么只需要一个电子邮件地址呢?
如果您真的不希望垃圾邮件机器人获取电子邮件地址,最好的方法是永远不要向任何人展示它。显示指向“联系此人”的链接,该链接会显示一个表单。在服务器端,将该表单的内容发送给收件人,并回复发件人的电子邮件地址。在他们的消息底部添加一个简短的说明“如果此电子邮件是垃圾邮件,请'单击此处'阻止此用户”,然后将阻止发件人的 IP。这种方法我用过很多次,从来没有投诉过。
【讨论】:
您可以混淆它,但恕我直言,无论您做什么,总有一天垃圾邮件发送者会得到您的电子邮件地址。未来在于垃圾邮件过滤器,而不是试图对电子邮件地址保密。
【讨论】:
我过去所做的是使用 javascript 来构建 mailto: 链接。这对用户来说很好,因为他们只需点击链接,我还不知道有任何垃圾邮件机器人需要时间来执行 javascript。
我想我是从Jakob Nielsen's useit.com 网站得到这个想法的。
在页眉中我有这段 javascript:
<script name="mailto" language="JavaScript">
//<![CDATA[
function load()
{
c1 = "bcl"
c2 = "brian"
c3 = "lane"
c4 = "com"
// Fill in the addresses
document.getElementById("contact1").innerHTML = "<a href=" + "mail" + "to:" + c1 + "@" + c2 + c3 + "." + c4 + ">" + c1 + "@" + c2 + c3 + "." + c4 + "</a>";
}
//]]>
</script>
告诉它在页面加载时加载它:
<body onload="load()">
然后我在页面的正文中放了一个垃圾邮件陷阱的链接:
<span id="contact1"><a href="mailto:spam@brianlane.com">spam@brianlane.com</a></span>
【讨论】:
我有一个解决方案,好吧,更像是一个理论。 问题是,机器人解析页面。他们可以得到文本。即使它被放置 通过 Javascript 以某种复杂的方式进入页面。
所以,只有你 CSS3 伪元素!它不会是链接,但您的电子邮件将是可见的,并且永远不会是实际文本。像这样:
.email::after{ content:'myemail@gmail.com'; }
再一次,这是一个理论,我不知道这些邪恶的人能走多远,但我认为这很安全。
我现在认为这不是问题,因为电子邮件服务器已经能够很好地过滤垃圾邮件,并且没有理由制作任何精心设计的技巧来“保护”网页上的电子邮件文本。
【讨论】:
如果这不是静态 HTML 页面,而是 ASP.NET、JSP、Coldfusion 或 PHP 页面,那么您可以有一个包含所有销售人员列表的下拉框、一个 cmets 文本框和一个“联系我们”(即提交按钮)。单击该按钮时,它将调用一个服务器端代码,该代码创建电子邮件并将其发送到您的本地邮件服务器进行传递。外界永远不会知道您的销售人员的电子邮件地址,也不会知道您公司的电子邮件格式(即 firstname.lastname@yourcompany.com)。
【讨论】:
看看 PrivateDaddy - 我认为它完全符合您的要求:全自动、不显眼的电子邮件隐藏功能,甚至适用于禁用 JavaScript 支持的浏览器。你可以得到它here(当然免费)
【讨论】:
mailto: 和文本形式显示了完整的电子邮件地址。
查看enkoder!
【讨论】:
enkoder 网站本身是电子邮件收割机吗‽...
您可以使用类似电子邮件obfuscation
【讨论】:
这是一个难题。如果您发布的电子邮件可以被 Web 浏览器解析以使其可点击,那么它就可以被垃圾邮件机器人解析。如果它不可点击(例如,如果它是一张图片),那么对用户来说就更难了。一方面是完美、无缝的用户体验,另一方面是完美的垃圾邮件拦截。不过,一个简单的 CSS 或 javascript 将电子邮件地址作为单独的令牌接收通常总比没有好。
【讨论】:
您只能将电子邮件地址“us...@mail.com”的一部分显示为重定向到验证码的链接,然后像 Google 网上论坛那样显示完整的电子邮件地址。
【讨论】:
我们曾经为电子邮件地址做经典的 ASP 字符串 cat,其伟大的想法是垃圾邮件机器人读取源代码,但不解析服务器端代码。我不知道这是否真的有效。
【讨论】:
我写的东西对你有用吗?
http://kevin-le.appspot.com/viewSource/sourceShare/asmRevealer.js
...你可以在这里看到演示:
http://kevin-le.appspot.com/extra/contact
它适用于 mailto,因此对用户来说很方便,但垃圾邮件机器人将无法获取您的要求。一旦你花 1 分钟看演示,就会很明显。
【讨论】:
我看到 mailto: 协议几乎已经死了......它很方便,但解析和收集太容易了。
另外它也有它的缺点:如果你在网吧,它不会工作,因为它会调用它拥有的任何默认电子邮件客户端(如果有的话!)并且它没有在你的帐户上设置.如果您只使用在线电子邮件管理器,也一样...
一种可能的解决方法是装饰电子邮件,依靠用户键入或更正它们:foo (at) example.com 或 foo-NOSPAM@REMOVE-THIS-example.com 是常见的方案(希望垃圾邮件发送者不会尝试破译这些常见的方案!),图形电子邮件地址是另一种方式。
或者,正如所指出的,如果可以的话,最好的选择是有一个联系表格,带有some reasonable form of protection against robots,它可以在任何地方使用。尽管人们可能会反对要求电子邮件(要求回复!)的表单,但免责声明也可能很有用...... :-)
【讨论】: