我的网站上有不同的mailto:电子邮件地址,现在被各种收割机击中,随后我被垃圾邮件发送。
任何人都可以帮助我为以下内容创建一些PHP代码:
<a href="mailto:info@company.com">info@company.com</a>
为防止收集地址,我可以在网站上显示的各种电子邮件地址上使用此脚本吗?
由于
答案 0 :(得分:3)
其他人建议使用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”。
我喜欢的另一个想法是让用户将他们的电子邮件地址输入表单。然后使用脚本向他们发送电子邮件。他们回复该电子邮件地址以便与您联系。换句话说,他们没有收到您的电子邮件地址,直到他们给您一个有效的地址,并且您的地址永远不会在网站上。
答案 1 :(得分:2)
我发现的最佳解决方案是使用一些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>
注意:这是未经测试的,但应该可以使用。还有更先进的技术,其他一些答案也会触及,但大多数技术都是基于这样的基础。
答案 2 :(得分:1)
我会用Javascript来做。尝试像
这样的东西<script>
document.write('<a href="mailto:inblahfo@company.com">inblahfo@company.com</a>'
.replace(/blah/g, ''));
</script>
答案 3 :(得分:1)
我一直很喜欢 Hive Enkoder 来创建mailto链接:
答案 4 :(得分:1)
我会这样做:
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>
用户看到了什么:
答案 5 :(得分:0)
最简单的解决方案是为您的公司电子邮件地址创建一个图像:)
或者
您可以使用此在线工具:
<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>
或者
查看更多方法:
答案 6 :(得分:0)
您可以动态生成JavaScript中的mailto链接,如下所示:http://www.webmarksonline.com/content/dynamicemaillink.htm
答案 7 :(得分:0)
我建议recaptca。它使得在显示您的电子邮件之前使用键入两个图像中的单词。这是完全安全的,它也有助于数字化书籍。该网站提供了一个很棒的API(复制粘贴代码),用于在您的网站上实现它
答案 8 :(得分:0)
您可以使用免费的外部服务,例如aemail.com:
@email是一个免费的电子邮件隐藏服务,可以使用短片隐藏电子邮件 点击链接后,网址会将发件人重定向到mailto-url。
在aemail.com输入电子邮件后,您将获得一个简短的URL,可用于替换您的“mailto”链接。点击链接后,您的用户将被重定向到“mailto”网址,而不会通知aemail.com。 API可用于动态隐藏电子邮件/获取网址。
示例:
<a href="mailto:info@itee.com">Contact</a>
替换为
<a href="https://aemail.com/q2">Contact</a>
将保持电子邮件链接正常工作。