[Mailman-Developers] Questions in regard to the database operations

Danci Emanuel danci_emanuel at yahoo.com
Fri Jun 29 01:17:18 CEST 2012


Hi Barry!

Yes, in terms of how the back-end works, it answers it. But, I am interested also
in the following aspect. Lets say that a users subscribes to a list with his/her preferred 
address. Afterwards, how can that user, who does not have access to the back end 
of the mailing list, add other email addresses from which he/she can send emails to
the list? This is related strictly how a user would do it, not necessarily how the code
works in this case.

 Thanks,
Emanuel 


________________________________
 From: Barry Warsaw <barry at list.org>
To: Danci Emanuel <danci_emanuel at yahoo.com> 
Cc: "mailman-developers at python.org" <mailman-developers at python.org> 
Sent: Thursday, June 28, 2012 1:43 AM
Subject: Re: [Mailman-Developers] Questions in regard to the database operations
 
Hi again Danci.  Keep the great questions coming! :)

On Jun 27, 2012, at 08:19 AM, Danci Emanuel wrote:

>I am back with some questions in regard to the aliases.  After a persons
>becomes a member of a particular list, subscribing  with its primary email
>address (the address at which he/she  will receive the replies), how can that
>person add the additional  email addresses (aliases) to the database?

Yes.  Subscriptions (i.e. memberships) are completely separate from addresses,
which again are separate from users.  Users and addresses can each be added
separately at any time.  Many of the doctests in src/mailman/model/docs
illustrate this.  In mm3 terminology, these separately added users and
addresses are "unlinked".

Usually addresses and users are linked, and an address can point to exactly
one user, while users can point to many addresses.

Members link a mailing list to either a user or an address, but not both.  A
user can be linked only if it has a preferred address, in which case message
delivery will be to that preferred address.  This allows a user to subscribe
to many mailing lists with their preferred address, and then change their
preferred address in one swoop to change all of their deliveries.

So, to answer your second question, the way a user adds additional addresses
is fairly simple.  Given an IUser object, you can just call the .register()
method to both register a new email and to link that to the user.  The address
will be unverified though, so in order to accept postings from that new email,
it has to be verified (which through the internal API is just setting a flag).

Does that answer the question?

Cheers,
-Barry


More information about the Mailman-Developers mailing list