14

我正在创建一个面向公共互联网的网站,其中包含他们销售人员的电子邮件地址。

我必须使用哪种编程选项来生成“mailto”并显示来自该地址的电子邮件,但限制垃圾邮件程序获取该地址?

4

14 回答 14

10

Recaptcha具有出色的基于捕获的电子邮件保护功能。您可以使用网站反馈链接在我网站的任何页面底部看到它已实现。

于 2009-01-10T05:48:03.583 回答
7

我知道 Facebook 通过显示图像而不是文本来做到这一点。当然,他们可以在图像上使用 OCR,但为什么只需要一个电子邮件地址呢?

如果您真的不希望垃圾邮件机器人获取电子邮件地址,最好的方法是永远不要向任何人显示它。显示指向“联系此人”的链接,该链接会显示一个表单。在服务器端,将该表单的内容发送给收件人,并回复发件人的电子邮件地址。在他们的消息底部添加一个简短的说明“如果此电子邮件是垃圾邮件,请'单击此处'阻止此用户”,然后将阻止发件人的 IP。我曾多次使用这种方法,从未有过一次投诉。

于 2008-11-21T13:38:49.653 回答
5

你可以混淆它,但恕我直言,无论你做什么,总有一天垃圾邮件发送者会得到你的电子邮件地址。未来在于垃圾邮件过滤器,而不是试图对电子邮件地址保密。

于 2008-11-21T13:48:58.697 回答
2

我过去所做的是使用 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>
于 2008-11-21T16:01:22.440 回答
2

我有一个解决方案,好吧,更像是一个理论。问题是,机器人解析页面。他们可以得到文本。即使它是通过 Javascript 以某种复杂的方式放入页面中的。

所以,只有你CSS3 伪元素!它不会是链接,但您的电子邮件将是可见的,并且永远不会是实际文本。像这样的东西:

.email::after{ content:'myemail@gmail.com'; }

同样,这是一个理论,我不知道这些邪恶的人能走多远,但我认为这很安全。


更新(7 月 19 日)

我现在认为这不是问题,因为电子邮件服务器已经变得擅长过滤垃圾邮件,并且没有理由制作任何精心设计的技巧来“保护”网页上的电子邮件文本。

于 2013-04-24T19:52:43.840 回答
1

看看 PrivateDaddy - 我认为它完全符合您的要求:全自动、不显眼的电子邮件隐藏功能,甚至适用于禁用 JavaScript 支持的浏览器。你可以在这里得到它(当然免费)

于 2009-12-24T16:23:05.403 回答
1

看看enkoder

于 2008-11-21T13:38:33.023 回答
1

如果这不是静态 HTML 页面,而是 ASP.NET、JSP、Coldfusion 或 PHP 页面,那么您可能会有一个包含所有销售人员列表的下拉框、一个用于评论的文本框和一个“联系我们” "(即提交按钮)。单击该按钮时,它将调用一个服务器端代码,该代码创建电子邮件并将其发送到您的本地邮件服务器进行传递。外界永远不会知道您的销售人员的电子邮件地址,也不会知道您公司的电子邮件格式(即 firstname.lastname@yourcompany.com)。

于 2008-11-21T13:46:18.593 回答
0

我写的东西对你有用吗?

http://kevin-le.appspot.com/viewSource/sourceShare/asmRevealer.js

...你可以在这里看到演示:

http://kevin-le.appspot.com/extra/contact

它适用于 mailto,因此对用户来说很方便,但垃圾邮件机器人将无法获取您的要求。一旦你花 1 分钟看演示,就会很明显。

于 2009-01-10T06:27:47.073 回答
0

您可以使用诸如电子邮件混淆之类的东西

于 2008-11-21T13:38:02.010 回答
0

这是一个难题。如果您发布的电子邮件可以被 Web 浏览器解析以使其可点击,那么它就可以被垃圾邮件机器人解析。如果它不可点击(例如,如果它是图像),则对用户来说更难。一方面是完美的、无缝的用户体验,另一方面是完美的垃圾邮件拦截。不过,一个简单的 CSS 或 javascript 将电子邮件地址作为单独的令牌接收通常总比没有好。

于 2008-11-21T13:40:36.187 回答
0

您只能将电子邮件地址“us...@mail.com”的一部分显示为重定向到验证码的链接,然后像 Google Groups 那样显示完整的电子邮件地址。

于 2008-11-21T13:44:28.270 回答
0

我们曾经为电子邮件地址做经典的 ASP 字符串 cat,伟大的想法是垃圾邮件程序读取源代码,但不解析服务器端代码。我不知道这是否真的有效。

于 2008-11-21T13:44:33.900 回答
-2

我看到 mailto: 协议几乎已经死了......它很方便,但太容易解析和收集。

另外,它也有它的缺点:如果您在网吧,它将无法工作,因为它会调用它拥有的任何默认电子邮件客户端(如果有的话!)并且它没有在您的帐户上设置。如果您只使用在线电子邮件管理器,则相同...

一种可能的解决方法是装饰电子邮件,依靠用户键入或更正它们:foo (at) example.com 或 foo-NOSPAM@REMOVE-THIS-example.com 是常见的方案(希望垃圾邮件发送者不会尝试破译这些常见的方案!),图形电子邮件地址是另一种方式。

或者,正如所指出的,如果可以的话,最好的选择是有一个联系表格,带有某种合理的机器人保护形式,可以在任何地方使用。尽管人们可能会反对要求电子邮件(要求回复!)的表格,但免责声明也可能有用...... :-)

于 2008-11-21T15:42:34.863 回答