Opis zlecenia
Zbudowanie narzedzia ktore wykryje strukture adresow email uzywajac domeny internetowej i skanera wykrywajacego przykladowe adresy. A wiec oto wymagania skryptu (wesja MVP, nastepnie chcielibysmy go polepszac), ktorego budowe chcialbym zlecic:
1. Skanowanie strony internetowej oraz Google, w celu wykrycia jak najwiekszej ilosci adresow email z podana domena internetowa. Czyli, jesli strona to mojafirma.com to skrypt wykrywalby adresy email dostepne na stronie mojafirma.com a takze skanowal rezultaty Google w celu znalezienia takich adresow (np poprzez skan zawierajacy slowo ‘email’ oraz nastepujaca fraze: ’“@mojafirma.com” email’.
2. Zapisywanie rezultatow (adresow email) w bazie danych.
3. Analiza tych rezultatow w celu odkrycia struktury adresu, czyli np jesli email to p.kowalski@mojafirma.com, to skrypt zgadlby strukture jako pierwszaliteraimienia.nazwisko@mojafirma.com, a jesli email to tomek@mojafirma.com, to pierwszeimie@mojafirma.com. Nastepnie struktura zostalaby zapisana w bazie danych w osobnej kolumnie. Tutaj jesli moge zasugerowac potencjalne rozwiazanie tego wyzwania: jesli wiekszailsoc adresow zostalaby porownana ze slownikiem imion (musialyby byc to imiona z calego swiata, a szczegolnie angielskie) to za pomoca takiego porownania i logiki punktowej moznaby bylo ‘odgadnac’ strukture. Np jesli imie wykryte w 7/10 maili przed '.' to wiemy ze adres zaczyna sie od pelnego pierwszego imienia, a jesli imie nie zostalo wykryte badz zostalo znalezione tylko 1-2 razy, to prawdopodobnie email zaczyna sie od nazwiska.
4. Finalnie skrypt sprawdzalby poprawnosc adresu wysylajac pusta wiadomosc do serweru SMTP, jednoczesnie wykrywajac czy serwer ten posiada ‘catch all’, czy tez nie. Wynik testu SMTP, wskazujacy czy email dziala/nie dziala, czy tez istnieje catchall takze zostalby zapisywany w bazie danych w osobnej kolumnie. Skrypt ten musialby byc wystarczajaco szybki, zeby skanowac co najmniej 50 000 stron internetowych na dzien, wiec dzialal asynchronicznie.
Preferowana baza danych to Maria DB (fork MySQL), i preferowany jezyk to PHP. Po napisaniu skryptu przetrzebowalibysmy pomocy aby wraz z naszym pelno-etatowym programista wcielic go w funkcje dostepna na front-endzie i to juz bylby projekt numer 2.