doc/source/vmm_emailaddress.rst
author Pascal Volk <neverseen@users.sourceforge.net>
Mon, 01 Mar 2010 05:31:43 +0000
branchv0.6.x
changeset 225 a51809f7940b
parent 216 0c8c053b451c
permissions -rw-r--r--
VMM/Transport: reworked Transport class. Use assertions for argument checks. Removed methods getID() and getTransport(). This values are now accessible through the read-only attributes id and transport. VMM/{Account,Domain}: adjusted to modifications in Transport class. A few code cleanups.

: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
  >>>