我正在创建一个面向公共互联网的网站,其中包含他们销售人员的电子邮件地址。
我必须使用哪种编程选项来生成“mailto”并显示来自该地址的电子邮件,但限制垃圾邮件程序获取该地址?
我正在创建一个面向公共互联网的网站,其中包含他们销售人员的电子邮件地址。
我必须使用哪种编程选项来生成“mailto”并显示来自该地址的电子邮件,但限制垃圾邮件程序获取该地址?
我知道 Facebook 通过显示图像而不是文本来做到这一点。当然,他们可以在图像上使用 OCR,但为什么只需要一个电子邮件地址呢?
如果您真的不希望垃圾邮件机器人获取电子邮件地址,最好的方法是永远不要向任何人显示它。显示指向“联系此人”的链接,该链接会显示一个表单。在服务器端,将该表单的内容发送给收件人,并回复发件人的电子邮件地址。在他们的消息底部添加一个简短的说明“如果此电子邮件是垃圾邮件,请'单击此处'阻止此用户”,然后将阻止发件人的 IP。我曾多次使用这种方法,从未有过一次投诉。
你可以混淆它,但恕我直言,无论你做什么,总有一天垃圾邮件发送者会得到你的电子邮件地址。未来在于垃圾邮件过滤器,而不是试图对电子邮件地址保密。
我过去所做的是使用 javascript 来构建 mailto: 链接。这对用户来说很好,因为他们只需点击链接,我还不知道有任何垃圾邮件机器人需要时间来执行 javascript。
我想我是从Jakob Nielsen 的 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'; }
同样,这是一个理论,我不知道这些邪恶的人能走多远,但我认为这很安全。
我现在认为这不是问题,因为电子邮件服务器已经变得擅长过滤垃圾邮件,并且没有理由制作任何精心设计的技巧来“保护”网页上的电子邮件文本。
看看 PrivateDaddy - 我认为它完全符合您的要求:全自动、不显眼的电子邮件隐藏功能,甚至适用于禁用 JavaScript 支持的浏览器。你可以在这里得到它(当然免费)
看看enkoder!
如果这不是静态 HTML 页面,而是 ASP.NET、JSP、Coldfusion 或 PHP 页面,那么您可能会有一个包含所有销售人员列表的下拉框、一个用于评论的文本框和一个“联系我们” "(即提交按钮)。单击该按钮时,它将调用一个服务器端代码,该代码创建电子邮件并将其发送到您的本地邮件服务器进行传递。外界永远不会知道您的销售人员的电子邮件地址,也不会知道您公司的电子邮件格式(即 firstname.lastname@yourcompany.com)。
我写的东西对你有用吗?
http://kevin-le.appspot.com/viewSource/sourceShare/asmRevealer.js
...你可以在这里看到演示:
http://kevin-le.appspot.com/extra/contact
它适用于 mailto,因此对用户来说很方便,但垃圾邮件机器人将无法获取您的要求。一旦你花 1 分钟看演示,就会很明显。
您可以使用诸如电子邮件混淆之类的东西
这是一个难题。如果您发布的电子邮件可以被 Web 浏览器解析以使其可点击,那么它就可以被垃圾邮件机器人解析。如果它不可点击(例如,如果它是图像),则对用户来说更难。一方面是完美的、无缝的用户体验,另一方面是完美的垃圾邮件拦截。不过,一个简单的 CSS 或 javascript 将电子邮件地址作为单独的令牌接收通常总比没有好。
您只能将电子邮件地址“us...@mail.com”的一部分显示为重定向到验证码的链接,然后像 Google Groups 那样显示完整的电子邮件地址。
我们曾经为电子邮件地址做经典的 ASP 字符串 cat,伟大的想法是垃圾邮件程序读取源代码,但不解析服务器端代码。我不知道这是否真的有效。
我看到 mailto: 协议几乎已经死了......它很方便,但太容易解析和收集。
另外,它也有它的缺点:如果您在网吧,它将无法工作,因为它会调用它拥有的任何默认电子邮件客户端(如果有的话!)并且它没有在您的帐户上设置。如果您只使用在线电子邮件管理器,则相同...
一种可能的解决方法是装饰电子邮件,依靠用户键入或更正它们:foo (at) example.com 或 foo-NOSPAM@REMOVE-THIS-example.com 是常见的方案(希望垃圾邮件发送者不会尝试破译这些常见的方案!),图形电子邮件地址是另一种方式。
或者,正如所指出的,如果可以的话,最好的选择是有一个联系表格,带有某种合理的机器人保护形式,可以在任何地方使用。尽管人们可能会反对要求电子邮件(要求回复!)的表格,但免责声明也可能有用...... :-)