Számos szempont alapján ellenőrizhetjük a felhasználók által megadott email cím valóságát, a legegyszerűbb módszerektől a legnehezebbekig. Én most a kettő között szeretnék bemutatni egy viszonylag egyszerű megoldást. A végén adok neked egy kis feladatot is. :-)
Mit ellenőrzünk valójában?
Megnézzük, hogy a megadott domain névnek van-e valós MX rekordja ill. bejegyzése. Ehhez nem is kell annyira messze mennünk, mert a PHP tartalmaz ilyen függvényt.
A függvény
1 2 3 4 | function domain_validate($email, $record = 'MX') { list($user, $domain) = split('@', $email); return checkdnsrr($domain, $record); } |
Használat
1 2 3 4 5 6 | if (domain_validate('info(kukac)tutorial.hu')) { echo "A megadott email cím domain neve tartalmaz MX rekordot!"; } else { echo "A megadott email cím domain neve NEM tartalmaz érvényes MX rekordot!"; } |
Miért nem ellenőrzöm a felhasználónevet?
Nem minden szerver mondja meg, hogy az „xy” postafiók valóban létezik-e a szerveren. Ez érthető, ha belegondolunk a SPAM botoknak árulkodna a szerver, hogy milyen fiókok léteznek!
Mi a megoldás?
Ez a Te feladatod :-). A domain_validate() függvényben van egy $user változó, ami tartalmazza a felhasználónevet. Írni kell hozzá egy olyan feltételt, ami csak a megengedett karaktereket tartalmazhatja! Ehhez reguláris kifejezés használatát javaslom, íme egy példa: /^[A-Za-z][A-Za-z0-9.-_]{1,254}$/. Sok sikert!