我正在创建一个面向公众网络的网站,其中包含销售人员的电子邮件地址。
我需要使用哪种编程选项来生成“mailto”并显示来自该地址的电子邮件,但限制垃圾邮件提取器获取地址?
答案 0 :(得分:10)
Recaptcha基于email protection的优秀捕获。您可以使用“网站反馈”链接在website的任意页面底部看到它已实施。
答案 1 :(得分:7)
我知道Facebook通过显示图像而不是文字来实现它。当然,他们可以在图像上使用OCR,但为什么只需要一个电子邮件地址?
如果您真的不希望垃圾邮件机器人获取电子邮件地址,最好的方法是永远不会向任何人展示。显示“联系此人”的链接,其中会显示一个表单。在服务器端,将该表单的内容发送给收件人,并回复发件人的电子邮件地址。在他们的消息底部加上一点点模糊信息“如果这封电子邮件是垃圾邮件,请'点击此处'阻止此用户”,这将阻止发件人的IP。我曾经多次使用这种方法,从未抱过一次抱怨。
答案 2 :(得分:5)
你可以混淆它,但恕我直言,无论你做什么,有一天垃圾邮件发送者将获得你的电子邮件地址。未来是垃圾邮件过滤器,而不是试图保密电子邮件地址。
答案 3 :(得分:3)
查看enkoder!
答案 4 :(得分:2)
我过去所做的是使用javascript来构建mailto:link。这对用户来说很好,因为他们可以点击链接,我不知道任何花时间执行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>
答案 5 :(得分:2)
看看PrivateDaddy - 我认为它确实与您正在寻找的东西:完全自动的,不显眼的电子邮件隐藏,甚至适用于禁用JavaScript支持的浏览器。你可以得到它here(当然是免费的)
答案 6 :(得分:1)
您可以使用电子邮件obfuscation
之类的内容答案 7 :(得分:1)
如果这不是静态HTML页面,而是ASP.NET,JSP,Coldfusion或PHP页面,那么您可以在下拉框中找到所有销售人员的列表,注释文本框和“联系我们”(即“提交”按钮)。单击该按钮时,它将调用服务器端代码,该代码将创建电子邮件并将其发送到本地邮件服务器以进行传递。外界永远不会知道您的销售人员的电子邮件地址,也不会知道贵公司的电子邮件格式(即firstname.lastname@yourcompany.com)。
答案 8 :(得分:1)
我有一个解决方案,好吧,更多的理论。 问题是,机器人解析页面。他们可以得到文本。即使它被放了 通过Javascript以一些复杂的方式进入页面。
所以,只有你 CSS3伪元素!它不是链接,但您的电子邮件将是可见的,永远不会是真正的文本。像这样的东西:
.email::after{ content:'myemail@gmail.com'; }
同样,这是一个理论,我不知道这些邪恶的人能够走得多远,但我认为这是非常安全的。
答案 9 :(得分:0)
这是一个难题。如果您发布的电子邮件可以通过Web浏览器进行解析,以便可以点击,那么可以通过spambot对其进行解析。如果它不可点击(例如,如果它是图像),则对用户来说更难。一方面是完美,无缝的用户体验,另一方面是完美的垃圾邮件拦截。但是,将电子邮件地址作为单独的令牌收集的简单CSS或javascript通常比什么都好。
答案 10 :(得分:0)
您只能将电子邮件地址“us ... @ mail.com”的一部分显示为重定向到验证码的链接,然后显示Google网上论坛的完整电子邮件地址。
答案 11 :(得分:0)
我们曾经为电子邮件地址做经典的ASP字符串cat,这个好主意是spambots读源,但不解析服务器端代码。我不知道这是否真的有效。
答案 12 :(得分:0)
我写的东西能帮你吗?
http://kevin-le.appspot.com/viewSource/sourceShare/asmRevealer.js
...你可以在这里看到演示:
http://kevin-le.appspot.com/extra/contact
它适用于mailto,因此对用户来说很方便,但是垃圾邮件程序无法提取哪些是您的要求。一旦你花1分钟看演示就会很明显。
答案 13 :(得分:-2)
我看到mailto:protocol几乎已经死了......这很方便,但是太容易解析和收集。
另外它有它的缺点:如果你在网吧,它将无法工作,因为它会调用它拥有的任何默认电子邮件客户端(如果它有任何!)并且它没有在你的帐户上设置。如果您只使用在线电子邮件管理员,那就相同......
可能的解决方法是装饰电子邮件,依靠用户输入或更正它们:foo(at)example.com或foo-NOSPAM@REMOVE-THIS-example.com是常见的方案(希望垃圾邮件发送者不会试图解读这些常见的方案!),图形电子邮件地址是另一种方式。
或者,正如所指出的,如果可以的话,最好的选择是建立一个可以在任何地方使用的联系表格some reasonable form of protection against robots。虽然人们可能会对要求发送电子邮件的表单提出异议(对于回复!),所以免责声明也可能有用......: - )