PHP:¿Cómo puedo mostrar correos electrónicos en mi Web sin que sea rastreado por robots spam y así preservar la privacidad de mis usuarios?

De Foros del Web

Existen diversas formas de hacer esto, pero el método más fiable y funcional, es mostrar la dirección de correo electrónico como una imagen:


Código PHP:

$_GET['texto'] = "info@sitioweb.com"; ## Email que queremos proteger
$length = strlen($_GET['texto']) * 6;
header("Content-type: image/png");
$im = imagecreate($length, 14);
imagecolorallocatealpha($im, 255, 0, 0, 127);
$color = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 2, 0, 0, $_GET['texto'], $color);
imagepng($im);
imagedestroy($im);  

Para mostrarlo simplemente habría que llamarlo de forma natural:

Código HTML:

<img src="email.php" />

Si queremos que esto sea funcional de manera dinámica usamos:

Código HTML:

<img src="email.php?texto=info@sitioweb.com" />

y eliminamos del código la siguiente línea:

Código PHP:

$_GET['texto'] = "info@sitioweb.com";  

--RUX 20 Jun 2007

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales