Mnohé z těchto odpovědí jsou blízké na správnou cestu. Toto jsou body pro mé podání.
- Chcete použít doménu -- NE systém pravidel.
- Tyto e-mailové adresy NECHCETE ověřovat pomocí regulárního výrazu. (Aktualizace z března 2017:již to není pravda)
Ukazuji dvě způsoby, jak to udělat správně na DBA.StackExchange.com . Jak pro kontrolu záznamu MX, tak také pomocí specifikace HTML5. Zde je stručný a sladký.
CREATE EXTENSION citext;
CREATE DOMAIN email AS citext
CHECK ( value ~ '^[a-zA-Z0-9.!#$%&''*+/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$' );
SELECT '[email protected]'::email;
SELECT CAST('[email protected]' AS email);
Pro více informací velice doporučuji vám přečíst si celou odpověď
. V odpovědi ukazuji také, jak vytvoříte DOMAIN
přes Email::Valid
a vysvětlit, proč již tuto metodu nepoužívám.