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.!#$%&''*+/=?^_`{|}~-]example@sqldat.com[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 'example@sqldat.com'::email;
SELECT CAST('example@sqldat.com' 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.