Attól eltekintve, hogy egy kicsit túl általánosra sikerült a kérdés, nehéz válaszolni rá: Nyilván adatbázis kell hozzá és e-mail küldés. E-mail küldésben több lehetőséged is van, én azt javaslom, hogy kész szoftvereket használj hozzá, pláne ha nincs tapasztalatod a témában. Ezek közül a SwiftMailer nagyon egyszerűen használható, mégis minden igényt kielégít.
Ugye a felhasználót eltárolod az adatbázisba. Az eltárolt adatokból valami módon generálsz egy hash-t, lehetőleg úgy, hogy újra tudd generálni azt. Ezt a hash-t egy URL-hez csatolva elküldöd a levélben, és amikor odalátogat a felhasználó, ellenőrzöd, hogy a felhasználó valóban az, akit vársz, ellenőrizve ezt a hash értéket.
Adatbázis
Adatbázis