На все мои почтовые ящики постоянно приходит спам. Как бы я не старался минимизировать ввод своей почты на разных сайтов, полностью избежать этого не удается. И из-за этого рано или поздно адреса почты попадают в спам-базу. Владельцы сайтов, на которых мы вводим свои e-mail, конечно самостоятельно не собирают адреса почты, но они выводят адреса на страницах сайтов — и этого вполне достаточно. Боты или роботы, не важно как их назвать, постоянно сканируют страницы сайтов в поисках новых e-mail адресов.
Чтобы избежать того, чтобы роботы не смогли собрать адреса ваших пользователей, достаточно выводить e-mail не в текстовом, а графическом виде — картинкой.
Я написал небольшой скрипт, который генерирует из текста картинку, его код я подробно прокомментировал и приложил ниже:
$font = 'impact.ttf'; //шрифт $fontSize = 32; // размер текста $imgText = "admin@vk-book.ru"; // текст // определяем размер картинки в зависемости от длины и размера текста $boxText = ImageTTFBBox($fontSize, 0, $font, $imgText); // размер будущей картинки $widthImg = $boxText[2] - $boxText[0]; $heightImg = $boxText[1] - $boxText[7]; // создаем полотно $img = imagecreatetruecolor($widthImg, $heightImg); // задаем цвет фона $fonColor = imagecolorallocate($img, 255, 255, 255); imagefill($img, 0, 0, $fonColor); // цвет текста $textColor = imagecolorallocate ($img, 0, 0, 0); // наносим текст на полотно imagettftext ($img, $fontSize, 0, 0, $fontSize, $textColor, $font, $imgText ); // выводим картинку в браузере header("Content-type: image/png"); imagePng($img); // или сохраняем картинку //$path = 'C:/testPNG.png'; //imagePng($im, $path); // В конце освобождаем память, занятую картинкой imageDestroy($img);