【发布时间】:2022-01-17 17:02:48
【问题描述】:
例如,我正在使用此 PHP 代码从数据库中获取用户电子邮件地址并输出为 l*******@g***.com。这可行,但电子邮件试图作为文字地址发送到该地址,并且总是返回错误。“l*******@g***.com”似乎不是有效的电子邮件地址。验证地址并重试。
是否有其他方法可以向发件人隐藏电子邮件地址。或者我可以修改这个代码,让它只显示这样,但真实的电子邮件地址仍然存在?
只需要发件人能够发送电子邮件,但地址对他们隐藏。
谢谢!
<?php
function hideEmailAddress($email)
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
list($first, $last) = explode('@', $email);
$first = str_replace(substr($first, '3'), str_repeat('*', strlen($first)-3), $first);
$last = explode('.', $last);
$last_domain = str_replace(substr($last['0'], '1'), str_repeat('*', strlen($last['0'])-1), $last['0']);
$hideEmailAddress = $first.'@'.$last_domain.'.'.$last['1'];
return $hideEmailAddress;
}
}
$email = "$user->email";
$smail = hideEmailAddress($email);
echo "<a href='mailto:{$smail}?subject=Buongiorno&body=Hello;'>.</a>";
?>
【问题讨论】:
-
如果您试图防范 bots,但很高兴 human 看到该地址,请参阅Hide Email Address from Bots - Keep mailto: 了解一些 i>可能阻止一些机器人发现地址。
标签: javascript php laravel mailto