+def replace_email(userdesc, perms, vhost, listname, from_email, to_email):
+ try:
+ mlist = MailList.MailList(vhost+VHOST_SEP+listname.lower(), lock=0)
+ except:
+ return 0
+ try:
+ if not is_admin_on(userdesc, perms, mlist):
+ return 0
+
+ mlist.Lock()
+ mlist.ApprovedChangeMemberAddress(from_email.lower(), to_email.lower(), 0)
+ mlist.Save()
+ mlist.Unlock()
+ return 1
+ except:
+ return 0
+