diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/app/membership.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mailman/app/membership.py b/src/mailman/app/membership.py index 8ded39388..6e6ceb942 100644 --- a/src/mailman/app/membership.py +++ b/src/mailman/app/membership.py @@ -90,6 +90,12 @@ def add_member(mlist, record, role=MemberRole.member): error.fqdn_listname, record.email, error.role) member.preferences.preferred_language = record.language member.preferences.delivery_mode = record.delivery_mode + # Check and remove nonmember subscriptions of the user to this list + # if any. + for address in user.addresses: + nonmember = mlist.nonmembers.get_member(address.email) + if nonmember is not None: + nonmember.unsubscribe() return member |
