diff options
Diffstat (limited to 'src/mailman/interfaces/address.py')
| -rw-r--r-- | src/mailman/interfaces/address.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mailman/interfaces/address.py b/src/mailman/interfaces/address.py index 446bae3f3..391eae849 100644 --- a/src/mailman/interfaces/address.py +++ b/src/mailman/interfaces/address.py @@ -26,6 +26,7 @@ __all__ = [ 'AddressNotLinkedError', 'ExistingAddressError', 'IAddress', + 'IEmailValidator', 'InvalidEmailAddressError', ] @@ -104,3 +105,25 @@ class IAddress(Interface): preferences = Attribute( """This address's preferences.""") + + + +class IEmailValidator(Interface): + """An email validator.""" + + def is_valid(email): + """Check if an email address if valid. + + :param email: A text email address. + :type email: str + :return: A flag indicating whether the email address is okay or not. + :rtype: bool + """ + + def validate(email): + """Validate an email address. + + :param email: A text email address. + :type email: str + :raise InvalidEmailAddressError: when `email` is deemed invalid. + """ |
