doc/source/vmm_emailaddress.rst
author Tobias Berling <mail@tobiasberling.de>
Sun, 18 Apr 2010 19:02:23 +0000
branchv0.6.x
changeset 257 5b8fde01e4f0
parent 216 0c8c053b451c
permissions -rw-r--r--
VMM/Alias.py: Replaced some %r with '%s'. VMM/AliasDomain.py: save(), switch(), delete(): Update AliasDomain._gid after database change. Added dbc.close() to AliasDomain.delete(). create_tables{,-dovecot-1.2.x}.pgsql: Fixed a typo.

:mod:`VirtualMailManager.EmailAddress` --- Handling of e-mail addresses
=======================================================================

.. module:: VirtualMailManager.EmailAddress
  :synopsis: Handling of e-mail addresses

.. moduleauthor:: Pascal Volk <neverseen@users.sourceforge.net>

.. toctree::
   :maxdepth: 2


This module provides the :class:`EmailAddress` class to handle validated e-mail
addresses.


EmailAddress
------------

.. class:: EmailAddress(address)

  Creates a new EmailAddress instance.

  :param address: string representation of an e-mail addresses
  :type address: :obj:`basestring`
  :raise VirtualMailManager.errors.EmailAddressError: if the
    *address* is syntactically wrong.
  :raise VirtualMailManager.errors.VMMError: if the validation of the
    local-part or domain name fails.

  An EmailAddress instance has the both read-only attributes:

  .. attribute:: localpart

    The local-part of the address *local-part@domain*


  .. attribute:: domainname

    The domain part of the address *local-part@domain*


Examples
--------

  >>> from VirtualMailManager.EmailAddress import EmailAddress
  >>> john = EmailAddress('john.doe@example.com')
  >>> john.localpart
  'john.doe'
  >>> john.domainname
  'example.com'
  >>> jane = EmailAddress('jane.doe@example.com')
  >>> jane != john
  True
  >>> EmailAddress('info@xn--pypal-4ve.tld') == EmailAddress(u'info@pŠ°ypal.tld')
  True
  >>> jane
  EmailAddress('jane.doe@example.com')
  >>> print john
  john.doe@example.com
  >>>