скриптик для обогащения списка e-mail адресов

danik

Гуру форума
Регистрация
26 Июн 2007
Сообщения
207
Реакции
53
Нужен небольшой скриптик для обогащения списка e-mail адресов для рассылки.
на входе которого файл с мыльникамив виде:


Код:
jsmith@gmail.com
ldavinci@yahoo.com

На выходе нужно получить в виде:

Код:
John Smith <jsmith@gmail.com>
Leonardo Davinci <ldavinci@yahoo.com>

Поскольку имен я изначально не знаю нужно их пытаться угадать, думаю что алгоритм должен быть наподобие такого

1 пробуем угадать на основе слов до знака @ (по идее нужен здоровенный словарь имен и фамилий)
2 пробуем пробить через онлайн сервисы наподобие Для просмотра ссылки Войди или Зарегистрируйся
3 если ничего не вышло берем все что до @ и писал с большой буквы как имя)

p.s. словари можно набрать как вариант тут - Для просмотра ссылки Войди или Зарегистрируйся хотя они не большие

p.p.s. если есть уже готовое решение или вы можете помочь но не на добровольной основе) предлагайте ваши условия
 
Код:
<?php
$file = file_get_contents('список_мыл.txt');
$firstName = array('...','...'); // имена
$lastName = array('...','...'); // фамилии
foreach($file as $mail):
echo array_rand($firstName, 0)[0] . ' ' . array_rand($lastName, 0)[0] . '<' . $mail . '>';
endforeach;
Попробуй.
 
Хочу не рандом) рандом понятно что можно
Хочу максимально приближенный к реальности
 
Хочу не рандом) рандом понятно что можно
Хочу максимально приближенный к реальности
Тогда, разве что, если есть какой то список "имя@фамилия" в каком то формате либо два массива, как в примере выше, но где значения двух ключей из массива будут, как ты выразился, "приближенными к реальности".
Но тут та же самая угадай-ка получается. Какова вероятность, что "приближенные к реальности" варианты будут похожи на реальные больше, чем рандомно склеенные? Зато в случае с рандомом есть больше вариантов генерации.
 
ну вот пример из жизни

Код:
kalycia99@gmail.com
nicebag2015@hotmail.com
bill.turner@btclick.com
GrosvenorTradingGroup@hotmail.com
davidrogers1951@hotmail.com
Retrocampdivision@hotmail.com
info@sumosam.com
ysfdesign@yahoo.cn
aandjmotors@hotmail.com
a.burmistrovas@gmail.com

и список который я обработал

Код:
Kalycia <kalycia99@gmail.com>
Nicebag <nicebag2015@hotmail.com>
Bill Turner <bill.turner@btclick.com>
GrosvenorTradingGroup <GrosvenorTradingGroup@hotmail.com>
David Rogers <davidrogers1951@hotmail.com>
Retrocampdivision <Retrocampdivision@hotmail.com>
Patrick O'Connor <info@sumosam.com> <- from domain whois
Ysfdesign <ysfdesign@yahoo.cn>
A&J Motors <aandjmotors@hotmail.com> <- from name before @
Burmistrovas <a.burmistrovas@gmail.com>

я так понимаю алгоритм все же такой
если до @
1 между словами есть знаки "." или "_" то мы делим на 2 слова и пытаемся по ним подобрать имя и фамилию
2 если у нас есть цифры то мы их убираем
3 нужно составить список общих слов типа info/mail/support/sales/manager/e.t.c. встречая которые мы будем пробовать вытащить инфу из whois домена потому что домены приватные
 
ну вот пример из жизни

Код:
kalycia99@gmail.com
nicebag2015@hotmail.com
bill.turner@btclick.com
GrosvenorTradingGroup@hotmail.com
davidrogers1951@hotmail.com
Retrocampdivision@hotmail.com
info@sumosam.com
ysfdesign@yahoo.cn
aandjmotors@hotmail.com
a.burmistrovas@gmail.com

и список который я обработал

Код:
Kalycia <kalycia99@gmail.com>
Nicebag <nicebag2015@hotmail.com>
Bill Turner <bill.turner@btclick.com>
GrosvenorTradingGroup <GrosvenorTradingGroup@hotmail.com>
David Rogers <davidrogers1951@hotmail.com>
Retrocampdivision <Retrocampdivision@hotmail.com>
Patrick O'Connor <info@sumosam.com> <- from domain whois
Ysfdesign <ysfdesign@yahoo.cn>
A&J Motors <aandjmotors@hotmail.com> <- from name before @
Burmistrovas <a.burmistrovas@gmail.com>

я так понимаю алгоритм все же такой
если до @
1 между словами есть знаки "." или "_" то мы делим на 2 слова и пытаемся по ним подобрать имя и фамилию
2 если у нас есть цифры то мы их убираем
3 нужно составить список общих слов типа info/mail/support/sales/manager/e.t.c. встречая которые мы будем пробовать вытащить инфу из whois домена потому что домены приватные
Верно. Парсишь из файла строки с мыльниками, отрезаешь все, что справа после @, включая саму собаку, а слева уже генерируешь имя.
Чтобы не париться с делением строки левой части с точками и тире либо землей(_), просто str_replace'ом заменяешь эти знаки на пробел. Либо, все таки, explode'ом делишь их и работаешь с каждой из частей строки.
Можно, например, буквы заменять на слова, ведь не будешь использовать имя "A Smith". Заменять "A" на "Archer", скажем так.
Ну там от фантазии зависит.
 
Да лучше подставляй как сам предложил ранее. Дели левую часть на имя/фамилия. Так правильней будет по отношению к самому получателю.
 
Последнее редактирование модератором:
p.s. если у кого то есть еще предложения о том как можно обогащать список или решения по конкретным манипуляциям с точки зрения алгоритма кроме тех что я сам описал выше - я буду благодарен)

Если это внешнее к Вам требование и Вы имена не собираетесь использовать в качестве подставляемого поля - то просто придумайте случайные имена и все. Имена ОБЪЕКТИВНО не нужны в рассылках.
 
в том то и дело что собираюсь использовать

и если условно "вася" получит письмо где я его назову "витя" то он с большей вероятность отправит письмо в спам не читая :(
 
Назад
Сверху