Генератор email адресов

email генераторРеализовал я тут на досуге личный сервис временной почты. Ну, и, как говорила Фрекен Бок, хочу о нем поведать миру. В одну статью запихивать всю информацию — глупо и неудобно. Поэтому было принято решение: разделить ее на три части. В этой статье речь пойдет о простейшем генераторе электронных адресов. Мы же не хотим каждый раз выдумывать новую почту. И даже не хотим набирать ее сами, так как в одной руке мы держим бокал с вином, а другой поправляем монокль. Отсюда вытекает задача: выводить рандомный email в форму. При нажатии клавиши F5 скрипт должен показать новый адрес. Количество повторений свести к ничтожному минимуму. Да, и еще одна важная деталь — человекоподобность.
В связи с моей криворукостью технической задумкой пришлось создать два рабочих файла: random.php и email.php. Первый — непосредственно сам скрипт рандомизатора. Именно random.php генерирует случайный email адрес. Вот его код:

<?php
//первую букву вывожу любую
$string = 'abcdefghijklmnopqrstuvwxyz';
$a1 = $string{rand(0, 25)};
//вторую букву вывожу согласную, логичную
$string = 'bcdklmnprst';
$a2 = $string{rand(0, 10)};
//третью букву вывожу обязательно гласную
$string = 'aeiouy';
$a3 = $string{rand(0, 5)};
//четвертая буква - согласная, логичная
$string = 'bcdklmnprst';
$a4 = $string{rand(0, 10)};
//пятая буква - гласная
$string = 'aeiouy';
$a5 = $string{rand(0, 5)};
//шестой символ "1" или "-", выбираются рандомно
$value = rand (1,2);
if ($value ==1)
{
//если выпала 1, то указываю цифру "1"
$a6 = '1';
//тут добавляю 3 цифры, чтобы получился типа год: от 1965 до 1999
$a7 = rand (965,999);
}
if ($value ==2)
{
//если выпала 2, то указываю символ "-"
$a6 = '-';
//тут добавляю 2 цифры: многие здесь пишут год, размер своего члена, возраст и т.д.
$a7 = rand (10,99);
}
//вывожу @ и доменное имя для почты
$a8 = '@';
$a9 = $_SERVER['HTTP_HOST'];
$postname = $a1.$a2.$a3.$a4.$a5.$a6.$a7.$a8.$a9; 
echo $postname;
?>

Про его работу мне особо добавить нечего, ведь я прокомментировал практически каждую строку. Однако, отмечу про важную деталь, которая была сказана выше, — человекоподобность. На выходе мы не получаем какой-то случайный набор символов, типа, ghjghjghjghj@domain.com или asdfghjkl@domain.com. Кому этот хлам вообще нужен? Ведь любой модератор поймет, что это фейковая почта.
генератор временной почтыУ нас же с вами получится более-менее похожее на email адреса, которые люди используют в обычной жизни. В данном скрипте лежит принцип генерации двух типов ящиков: логин+год@домен или логин+дефис+год@домен. Логин генерируется из тех букв, сочетание которых бы наиболее походило на что-то адекватное, а не просто на набор символов. Цифры добавлены для увеличения вариативности и (опять же) правдоподобности адреса. Вот несколько случайных примеров, которые можно получить обычным нажатием F5:
lrala1971@domain.com
erode1966@domain.com
aluci1994@domain.com
frule1978@domain.com
hcora-83@domain.com
jlyme-70@domain.com
nsepo-99@domain.com
xnyro-17@domain.com
Далее привожу код файла email.php — он нам нужен, чтобы вывести сгенерированный email в форму, причем уже с выделением, чтобы было быстрее копировать и вообще совершать меньше лишних действий.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mail randomizer</title>
</head> 
<body>
<form action="<? include ("random.php");?>" name="form">
<input name="1" style="width: 300px; height: 30px; font-size: 22px;"type="text" value="<? echo $postname; ?>" onclick="select(this);" />
</form>
</body>
</html>

Как вы поняли, основная работа происходит через обращение к файлу email.php. Нужно только кликнуть мышкой на адрес и нажать Ctlr+C. Можно, конечно, добавить еще каких-нибудь кнопок да свистелок. Но ведь и так работает.
1 Часть. Описание технической задачи. Рассуждения.
3 Часть. Настройка сервера через планировщик задач Cron.
4 Часть. Выбор доменного имени. Бесплатный домен?

1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

copoк ceмь − copoк чeтыpe =