среда, 15 апреля 2009 г.

Адреса Gmail с точками

У адресов электронной почты сервиса gmail.com есть свойство, известное многим сеошникам, а именно то, что если в любой части адреса до знака @ вставить любое количество точек (кроме начала адреса и перед самим знаком @), то такой адрес будет считаться действительным и вся почта, отправленная на такой адрес, попадет на первоначальный адрес.

То есть все адреса типа l.ogin@gmail.com, log.in@gmail.com, logi….n@gmail.com, l.o…gi….n@gmail.com будут считаться действительными и почта, отправленная на эти адреса, попадет на ящик login@gmail.com . Недействительными будут только адреса вида .login@gmail.com, login.@gmail.com, .l.o..gin@gmail.com, log..in.@gmail.com и т. п.

Данное свойство сервиса gmail.com очень полезно, поскольку избавляет от необходимости регистрировать множество почтовых ящиков

Вручную расставлять точки муторно, поэтому решил поискать программку или скрипт, которые бы сгенерили за меня список адресов с точками. Готового решения я не нашел, но нашел куски кода, из которых сделал свой скрипт на PHP. Данный скрипт создает список почтовых адресов Gmail, в которых нет соседствующих точек. Если вам понадобится еще и адреса с соседствующими точками, вида l.o..gi.n@gmail.com, просто возьмите любой из сгенерированных адресов с одиночными точками и прогоните такой адрес через скрипт еще один раз, а потом можно прогнать и адрес с двойными точками и т.д. Потом объедините новый файл с первым файлом (где имеются только одиночные точки) и удалите из объединенного файла одинаковые строки. Аналогично следует поступать и после генерации списка адресов из логина с двойными точками.

Скрипт работает на Денвере и сохраняет результаты в папку со скриптом в файл вида gmail_вашлогин.txt

Приведенный ниже код следует скопировать в текстовый файл и сохранить этот файл под именем index.php , а потом этот файл запускать на Денвере.

------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Генератор вариаций адресов Gmail с точками</title>
<style type="text/css">
<!--

.style4 {
font-size: 20px;
color: #3333CC;;
font-style: underlined;
}

.style5 {
font-size: 24px;
color: #FF0040;
}

.style6 {
font-size: 18px;
color: #009900;
font-style: italic;
}

-->
</style>
</head>

<body>
<table width="536" height="265" border="0" align="center" bordercolor="#333333">
<tr>
<td width="360" height="154" align="left" valign="bottom" bordercolor="#333333" class="style6">Введите свой логин на Gmail (часть адреса до знака @ ) </td>
</tr>
<tr>
<td><form id="form1" name="form1" method="post" action="index.php">

<input type="text" name="logn" />


<input type="submit" value="Нажать" />
<input type="reset" name="Submit" value="Сбросить" />

</form> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<?php
ini_set("max_execution_time", 6000);

function add_dot($str){
if(strlen($str) > 1){
$ca = preg_split("//",$str);
array_shift($ca);
array_pop($ca);
$head = array_shift($ca);
$res = add_dot(join('',$ca));
$result = array();
foreach($res as $val){
$result[] = $head . $val;
$result[] = $head . '.' .$val;
}
return $result;
}
return array($str);
}

if ($_POST['logn'] == '')
{
echo '<table width="536" border="0" align="center">
<tr>
<td width="360" align="left" valign="bottom"><span class="style5">Вы не ввели данные!</span><br><br> </td>
</tr>
</table>';
}

if ($_POST['logn'] != '')
{

$logn = $_POST['logn'];
unset ($_POST['logn']);

$res = add_dot($logn);

$mlist = fopen('gmails_'.$logn.'.txt', 'w+');

foreach($res as $email)
{
fwrite($mlist, $email."@gmail.com\n");
}

fclose($mlist);

flush();

echo '<table width="536" border="0" align="center">
<tr>
<td width="360" align="left" valign="bottom"><span class="style4">Готово! Список адресов находится в файле gmails_';
echo $logn;
echo '.txt</span><br><br> </td>
</tr>
</table>';
}
unset ($logn);
?>
</body>
</html>

2 комментария: