4. VirtualMailManager.Alias
— Handling of alias e-mail addresses¶
This module provides the Alias
class. The data are read from/stored
in the alias
table. This table is used by Postfix to rewrite recipient
addresses.
4.1. Alias¶
- class VirtualMailManager.Alias.Alias(dbh, address)¶
Creates a new Alias instance. Alias instances provides the
__len__()
method. So the existence of an alias in the database can be tested with a simple if condition.- Parameters
dbh (
pyPgSQL.PgSQL.Connection
) – a database connectionaddress (
VirtualMailManager.EmailAddress.EmailAddress
) – the alias e-mail address.
- add_destinations(destinations, expansion_limit[, warnings=None])¶
Adds the destinations to the destinations of the alias. This method returns a
set
of all addresses which successfully were stored into the database.If one of the e-mail addresses in destinations is the same as the alias address, it will be silently discarded. Destination addresses, that are already assigned to the alias, will be also ignored.
When the optional warnings list is given, all ignored addresses will be appended to it.
- Parameters
destinations (
list
ofVirtualMailManager.EmailAddress.EmailAddress
instances) – The destination addresses of the aliasexpansion_limit (
int
) – The maximal number of destinations (see also: virtual_alias_expansion_limit)warnings (
list
) – A optional list, to record all ignored addresses
- Return type
set
- Raises
VirtualMailManager.errors.AliasError – if the additional destinations will exceed the expansion_limit or if the alias already exceeds its expansion_limit.
See also
VirtualMailManager.ext.postconf
– to read actual values of Postfix configuration parameters.
- del_destination(destination)¶
Deletes the given destination address from the alias.
- Parameters
destination (
VirtualMailManager.EmailAddress.EmailAddress
) – a destination address of the alias- Return type
None
- Raises
VirtualMailManager.errors.AliasError – if the destination wasn’t assigned to the alias or the alias doesn’t exist.
- delete()¶
Deletes the alias with all its destinations.
- Return type
None
- Raises
VirtualMailManager.errors.AliasError – if the alias doesn’t exist.
- get_destinations()¶
Returns an iterator for all destinations (
EmailAddress
instances) of the alias.- Return type
listiterator
- Raises
VirtualMailManager.errors.AliasError – if the alias doesn’t exist.