首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在网站上显示电子邮件地址以避免垃圾邮件?

如何在网站上显示电子邮件地址以避免垃圾邮件?
EN

Stack Overflow用户
提问于 2014-04-11 10:58:46
回答 12查看 78.5K关注 0票数 70

我在我的网站上显示如下电子邮件

 <a href="mailto:inf@example.com">Email</a>

但是当我使用woorank.com分析我的网站时,我读到了以下内容,我应该做些什么来避免这种情况?

恶意机器人在网络上搜索电子邮件地址和纯文本电子邮件地址更有可能被垃圾邮件。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2014-04-17 07:40:46

在网站上隐藏电子邮件有多种不同的选择,通常使用电子邮件地址的HTML实体版本(正如Aziz-Saleh建议的那样),但从实际的网页设计角度来看,仅仅将电子邮件地址放在网站上并不是最友好的做法。

例如,mailto:链接会自动触发浏览器打开用户选择的电子邮件应用程序--但请考虑这一点。并不是每个人都有专门的电子邮件应用程序。例如,我不使用Outlook (我是Windows用户),除非我安装了Windows Live Mail,否则我的计算机无法打开该链接。我认为如果你已经登录,Chrome可以打开链接进入GMail,但我需要检查一下。

最终,通过使用mailto:,您可能会疏远一部分一开始就无法使用该链接的用户。

我建议使用PHP ,并且有很多简单易懂的教程可供和您的JSP语言使用,例如这里的链接:Sending Email in JSP,甚至StackOverflow上的链接

通过使用您的服务器发送电子邮件,您可以更严格地控制电子邮件的生成方式,允许用户输入哪些数据,您甚至可以向他们发送一封回复电子邮件(由服务器生成),以确认您已收到他们的消息。这是一种久经考验的现实世界方法,允许客户和访问者与您联系,同时仍为您提供整个流程的保护和控制。

JSP;DR:原始mailto:链接可能会疏远没有专用电子邮件程序的人,而如果您使用表单,您可以控制他们如何与您联系,使用什么信息(您可以使用字段和HTML5 required属性来强制某些输入字段),您甚至可以使用do-not-reply电子邮件进行回复,这样他们就知道他们的消息被听到了(只是不要忘记询问他们的电子邮件地址)

票数 25
EN

Stack Overflow用户

发布于 2014-04-21 18:17:15

在过去,我看到过使用javascript来完成这项工作。基本上,您将电子邮件地址分配给javascript变量,并使用这些变量更改元素的内容。您还可以为禁用了javascript的用户提供一个后备选项,如果需要的话,它会将用户指向表单的方向。下面是一个例子

var user = 'foo',
    domain = 'bar.com',
    element = document.getElementById('email');

    element.innerHTML = user + '@' + domain;
    //OR
    //'<a href="mailto:' + user + '@' + domain + '">Email</a>'  

这样,机器人就不会看到电子邮件地址,因为它们不会加载javascript。

票数 38
EN

Stack Overflow用户

发布于 2014-04-24 06:05:03

嗯,你可以每天想出一种不同的方法。这里有一个使用jQuery的代码。

<a class="mail" href="mailto:john@badmail.mydomain.com">e-mail</a>

然后用jQuery处理点击。

$('a.mail').on('click', function(){
    var href = $(this).attr('href');
    $(this).attr('href', href.replace('badmail.', ''));
});

我喜欢这样的原因是,我可以让垃圾邮件发送者向虚拟邮件域发送垃圾邮件,以为他们又收到了一封电子邮件。如果我维护自己的垃圾邮件过滤器,我可以将样本收集到我的坏桶中。

此外,这种方法允许您使用动态数据呈现非常干净的页面,并且只需在整个站点上使用一次javascript代码段来处理实际的用户点击。

在手机上也能工作。

票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23002711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档