Changing addresses

The mailman changeaddress command is used to change an email address for a user.

>>> from mailman.testing.documentation import cli
>>> command = cli('mailman.commands.cli_changeaddress.changeaddress')

Usage

Here is the complete usage for the command.

>>> command('mailman changeaddress --help')
Usage: changeaddress [OPTIONS] OLD_ADDRESS NEW_ADDRESS

  Change a user's email address from old_address to possibly case-preserved
  new_address.

Options:
  --help  Show this message and exit.

Examples

First we create an address.

>>> from mailman.interfaces.usermanager import IUserManager
>>> from zope.component import getUtility
>>> user_manager = getUtility(IUserManager)
>>> user_manager.create_address('anne@example.com', 'Anne Person')
<Address: Anne Person <anne@example.com> [not verified] at ...

Now we can change the email address.

>>> command('mailman changeaddress anne@example.com anne@example.net')
Address changed from anne@example.com to anne@example.net.
>>> print(user_manager.get_address('anne@example.com'))
None
>>> user_manager.get_address('anne@example.net')
<Address: Anne Person <anne@example.net> [not verified] at ...

We can also change only the case of an address

>>> command('mailman changeaddress anne@example.net Anne@example.net')
Address changed from anne@example.net to Anne@example.net.
>>> user_manager.get_address('anne@example.net')
<Address: Anne Person <Anne@example.net> [not verified] key: anne@example.net at ...