Viele dieser Antworten sind nah auf den richtigen Weg. Dies sind die Punkte für meine Einreichung.
- Sie möchten eine Domain verwenden – NICHT das Regelsystem.
- Sie möchten diese E-Mail-Adressen NICHT mit einem regulären Ausdruck validieren. (Update März 2017:stimmt nicht mehr wirklich)
Ich zeige auf DBA.StackExchange.com zwei Methoden, wie man das richtig macht . Sowohl um nach dem MX-Eintrag zu suchen, als auch anhand der HTML5-Spezifikation. Hier ist es kurz und bündig.
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);
Für weitere Informationen sehr schlagen vor, dass Sie die Antwort vollständig lesen
. In der Antwort zeige ich auch, wie Sie eine DOMAIN
erstellen über Email::Valid
, und erklären Sie, warum ich diese Methode nicht mehr verwende.