diff options
Diffstat (limited to 'Mailman/MailList.py')
| -rw-r--r-- | Mailman/MailList.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py index 8d0e11c51..0e15511e5 100644 --- a/Mailman/MailList.py +++ b/Mailman/MailList.py @@ -996,7 +996,12 @@ class MailList(HTMLFormatter, Deliverer, ListAdmin, def ApprovedChangeMemberAddress(self, oldaddr, newaddr, globally): # Change the membership for the current list first. We don't lock and # save ourself since we assume that the list is already locked. - self.changeMemberAddress(oldaddr, newaddr) + if self.isMember(newaddr): + # Just delete the old address + if self.isMember(oldaddr): + self.ApprovedDeleteMember(oldaddr, admin_notif=1, userack=1) + else: + self.changeMemberAddress(oldaddr, newaddr) # If globally is true, then we also include every list for which # oldaddr is a member. if not globally: |
