我的网站上有不同的 mailto: 电子邮件地址,现在被各种收割机击中,随后我被垃圾邮件发送。
任何人都可以帮助我为以下内容创建一些 PHP 代码:
<a href="mailto:info@company.com">info@company.com</a>
为了防止地址被收集,我可以在网站上显示的各种电子邮件地址上使用此脚本吗?
谢谢
其他人建议使用 JavaScript 编写电子邮件地址document.write()
。我不喜欢这种方法,因为它很容易被那些打扰实际渲染页面的机器人打败。我收到了以这种方式“受保护”的电子邮件地址上的垃圾邮件(没有不受保护的地址那么多,也没有那么快,但它仍然会出现)。
我的首选方法是使用虚拟电子邮件地址编写链接(它可以转到邮件服务器上的蜜罐电子邮件地址,因此您可以确定将哪些服务器 IP 地址列入黑名单)。然后onClick
在用户单击链接时使用链接上的处理程序替换真实的电子邮件地址。没有电子邮件收割机会向页面上的每个链接发送点击事件,它就是行不通的。
<a href="mailto:fake@example.com"
onClick="this.href=this.href.replace('fake', 'real')">
Send Us E-mail</a>
在此示例中,我们从“fake@example.com”开始,并在用户单击链接时将“fake”替换为“real”。
我喜欢的另一个想法是让用户在表单中输入他们的电子邮件地址。然后,您使用脚本向他们发送电子邮件。他们回复该电子邮件地址以开始与您联系。换句话说,在他们给你一个他们自己的有效电子邮件地址之前,他们不会得到你的电子邮件地址,而且你的地址永远不会出现在网站上。
我发现的最好的解决方案是使用一些 javascript。你调用一个函数,传入地址,它会为你打印出链接。由于大多数机器人不处理 javascript,这应该适用于大多数情况:
<script type='text/javascript'>
function email(name, domain, withlink) {
var addr = name + '@' + domain;
if(withlink) {
document.write('<a href="mailto:' + addr + '">' + addr + '</a>');
} else {
document.write(addr);
}
}
</script>
然后,当您想在网站上打印电子邮件地址时:
<script>email('myuser', 'mydomain');</script>
如果你想让它成为一个可点击的链接:
<script>email('myuser', 'mydomain', true);</script>
注意:这是未经测试的,但它应该可以工作。还有更先进的技术,其他一些答案涉及这些技术,但其中大多数都是建立在这样的基础之上的。
我会用Javascript来做。尝试类似的东西
<script>
document.write('<a href="mailto:inblahfo@company.com">inblahfo@company.com</a>'
.replace(/blah/g, ''));
</script>
我一直喜欢Hive Enkoder创建 mailto 链接:
我会这样做:
function obfuscate_email($email) {
$obf = '';
for($i = 0; $i < strlen($email); $i++) {
$obf .= '&#' . ord($email[$i]) . ';';
}
return $obf;
}
echo '<a href="mailto:' . obfuscate_email('info@company.com') . '">' . obfuscate_email('info@company.com') . '</a>';
HTML源代码:
<a href="mailto:info@company.com">info@company.com</a>
用户看到的内容:
最简单的解决方案是为您的公司电子邮件地址创建图像 :)
或者
您可以使用此在线工具:
<script type="text/javascript">
var part1 = "me";
var part2 = "mydomain.com";
var part3 = "Click Here to Send";
document.write('<a href="mai' + 'lto:' + part1 + '@' + part2 + '">');
document.write(part3 + '</a>');
</script>
或者
查看更多方法:
您可以像这样在 JavaScript 中动态生成 mailto 链接:http ://www.webmarksonline.com/content/dynamicemaillink.htm
我推荐recaptca。它使用户在显示您的电子邮件之前在两张图像中键入单词。它是完全安全的,它还有助于将书籍数字化。该网站提供了一个很棒的 API(复制粘贴代码)用于在您的网站上实现它
您可以使用免费的外部服务,例如aemail.com:
@email 是一项免费的电子邮件隐藏服务,它使用短 URL 隐藏电子邮件,在单击链接后将发件人重定向到 mailto-url。
在 aemail.com 输入电子邮件后,您将获得一个短 URL,可用于替换您的“mailto”链接。单击链接后,您的用户将被重定向到“mailto” URL,而不会通知 aemail.com。API可用于动态隐藏电子邮件/获取 URL。
例子:
<a href="mailto:info@itee.com">Contact</a>
替换为
<a href="https://aemail.com/q2">Contact</a>
将保持电子邮件链接正常工作。