Enable interpolation of alias destinations
This patch modifies the virtual_alias_maps function so that the destination
address is parsed for the place holders %n, %d and %=, which are replaced with
the localpart, the domain or the full address with '@' replaced by '=' of the
queried key.
In combination with alias domains, this allows for domain-specific recipients.
E.g. given example.org and its alias domain example.com, defining an alias
postmaster@example.org → postmaster+%d@example.org
will cause mail to postmaster@example.*com* to go to
postmaster+example.*com*@example.org.
# -*- coding: UTF-8 -*-
# Copyright (c) 2010 - 2011, Pascal Volk
# See COPYING for distribution information.
"""
VirtualMailManager.pycompat
VirtualMailManager's compatibility stuff for Python 2.4
"""
# http://docs.python.org/library/functions.html#all
try:
all = all
except NameError:
def all(iterable):
"""Return True if all elements of the *iterable* are true
(or if the iterable is empty).
"""
for element in iterable:
if not element:
return False
return True
# http://docs.python.org/library/functions.html#any
try:
any = any
except NameError:
def any(iterable):
"""Return True if any element of the *iterable* is true. If the
iterable is empty, return False.
"""
for element in iterable:
if element:
return True
return False