K čemu vůbec je dobrá takhle detailní validace e-mailové adresy? Spousta validních adres je stejně nedoručitelných.
Jako provozovatel služby, která z nějakého důvodu vyžaduje e-mailovou adresu, podle mě není prakticky velký rozdíl mezi validní nedoručitelnou adresou a nevalidní (a tudíž nedoručitelnou) adresou. Pokud tedy chci mít jistotu, že adresa je doručitelná, nezjistím to jinak než tím, že se na ní pokusím něco doručit. A v takovém případě ji prostě předám SMTP klientovi tak, jak ji uživatel zadal - žádná pokročilá validace není potřeba. Maximálně můžu ušetřit pár strojových cyklů odmítáním zjevně nevalidních adres, kde třeba chybí zavináč. Ale i tohle SMTP klient odchytí.
V praxi se stále používají i v nových projektech stále ty víc jak deset let staré scripty z doby před uvolněním trhu s gTLD doménami. Takže jestli tenhle zábavně-edukační projekt otevře oko třeba jen jednomu jedinému kodérovi, který se chytí za nos a pochopí, že svět se posunuje ikdyž se nekouká, je to dobře.
Pokud formular jen validuje vstup (aniz by realne testoval existenci mailboxu, coz je vetsina), nedava smysl vynucovat nejaka pravidla nad ramec toho, co rikaji standardy. On to byl jen tak mimochodem i pripad u RIPE, kdy se vyvojar rozhodl, ze 80-znakovy email musi stacit vsem. Umela podminka, co s (ne)dorucitelnosti emailu nic docineni nemela.
Úplně stačí mít nesprávně dlouhé jméno. Můj kamarád z krátkým jménem má příjmení Aš
(jako to město), a mnohokrát narazil na omezení minimální délka příjmení jsou 3 znaky
nebo jméno + příjmení musí být minimálně 5 znaků dlouhé
, a jednou dokonce došlo k záměně s doménou, když měl u uživatelské jméno ve tvaru ***.as.
Díváš se na to z pohledu technika, ne z pohledu uživatele. Uživatel může při zadávání e-mailové adresy udělat chybu, a pak je dobré jej na ni upozornit hned, aby ji mohl opravit. Zejména když často e-mailová adresa == účet, takže zadání chybné e-mailové adresy efektivně znamená, že jsi vytvořil účet, ke kterému se už v životě nedostaneš. Což zamrzí, když se ten účet vytváří třeba po dokončení objednávky a objednávka se do něj přesune.
Takže i když uživatel zadá e-mail ve tvaru @seynam.cz nebo @seynam.cy, je dobré se ho zeptat, zda je to opravdu správně – i když technicky jsou to správné e-maily, bez nějakých záludností.
Myslet si o tom můžu co chci, ale kolik chyb lidé udělají, když mají zadat svůj e-mail, telefonní číslo nebo jenom opsat čtyřmístný variabilní symbol…
To by nebyl Danny, aby nemusel oponovat, i když úplně hloupě. Jaký je asi poměr případů, kdy někdo zadá seynam.cz omylem a kdy někdo opravdu používá e-mail na dané doméně? 1 000:1? 10 000:1? Nejde o žádnou buzeraci, jde o pomoc uživatelům.
Pokud by někdo náhodou měl e-mail na téhle doméně, znamená to jedno kliknutí navíc. Opravdu je to nepřekonatelný problém? Navíc u domény, u které jde jen stěží předpokládat dobré úmysly vlastníka? Vážně tě nenapadlo, že tam ten MTA s největší pravděpodobností běží právě proto, aby přijímal e-maily určené úplně někomu jinému a těžil z nich informace? Třeba jen o pravděpodobně existujících adresách?
První verze algoritmu je jednoduchá – stačí mít trochu přehled o českém internetu a zamyslet se. Pokročilejší verze algoritmu je sledovat e-mailové adresy, na které se nedaří doručovat. Což neznamená jenom to, že není kam doručit nebo MTA e-mail odmítne. Může to znamenat i to, že nepřijde žádná reakce na e-mail.
A razite tyhle teze aspon u sveho zamestnavatele? Ze by jako formulariky vyzadujici zadani vstup provadely testy na zaklade tehle vasi teorie? :-) Nebo zas jen blouznite a modelujete neco, co ani u vas nedelate...? :-)
Cesky internet fakt nejsou jen emaily s koncovkou .cz. Ostatne i vase firemni prezentace chce byt svetova a preferuje .com pred .cz, zeano. Muzete prijit s tezi, ze to neni vase prace... ale ano, pak plati to ad vyse, ze vas vliv je zanedbatelny a tudiz vase napady nikdo nebere vazne.