*solved* Re: [Mailman-Users] Rogue address in mailing list

John Price jp_mailman at gcfl.net
Fri Aug 27 08:06:57 CEST 2004


After beating my head on various keyboards and walls, and
doing a fair about of cursing, I finally found the
problem!

Turns out somehow the non-lowercase email address
member-name at Productivity.com (notice the capital 'P')
managed to get into the supposed-to-be-only-lowercase
database.  I don't know how, but I leave that as an
exercise for the developers. :)

The way I fixed it was I temporarily commented out the
"member.lower()" call in OldStyleMemberships.py in the
remove member function, removed the address, then undid my
changes.  I'm sure there's an easier way but like I
said before, I don't know jack about Python.

If anyone has any suggestions as to how I can keep this
from happening again, I'd like to hear them.

Later,
John

On Thu, Aug 26, 2004 at 05:14:25PM -0500, John Price wrote:
> I'm running Mailman 2.1.5 on Gentoo.  My list had about
> 60K members.
> 
> I have this rogue email address that is half subscribed and
> half not.
> 
> When I try to list the address with list_members, I get
> an error (shown below), but if I try to remove the
> address with remove_members, it says the address is not a
> member of the list!
> 
> This is also affecting posting to the list (the emails get
> put in the shunt dir and I've included the error from the
> error log file below).
> 
> How can I use withlist or some other way to remove this
> member completely (I don't know much about Python, so
> please be explicit)? Also, is there a patch to fix this?
> 
> Thx,
> John
> 
> 
> * error log file *
> Aug 26 16:56:55 2004 (7137) Uncaught runner exception: member-name at Productivity.com
> Aug 26 16:56:55 2004 (7137) Traceback (most recent call last):
>   File "/usr/local/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop
>     self._onefile(msg, msgdata)
>   File "/usr/local/mailman/Mailman/Queue/Runner.py", line 167, in _onefile
>     keepqueued = self._dispose(mlist, msg, msgdata)
>   File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose
>     more = self._dopipeline(mlist, msg, msgdata, pipeline)
>   File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline
>     sys.modules[modname].process(mlist, msg, msgdata)
>   File "/usr/local/mailman/Mailman/Handlers/CalcRecips.py", line 74, in process
>     recips = [mlist.getMemberCPAddress(m)
>   File "/usr/local/mailman/Mailman/OldStyleMemberships.py", line 139, in getDeliveryStatus
>     self.__assertIsMember(member)
>   File "/usr/local/mailman/Mailman/OldStyleMemberships.py", line 113, in __assertIsMember
>     raise Errors.NotAMemberError, member
> NotAMemberError: member-name at Productivity.com
> 
> * Running list_members *
> # /usr/local/mailman/bin/list_members -n bybounce mylistname
> 
> Traceback (most recent call last):
>   File "/usr/local/mailman/bin/list_members", line 286, in ?
>     main()
>   File "/usr/local/mailman/bin/list_members", line 262, in main
>     if nomail and not whymatches(mlist, addr, why):
>   File "/usr/local/mailman/bin/list_members", line 138, in whymatches
>     status = mlist.getDeliveryStatus(addr)
>   File "/usr/local/mailman/Mailman/OldStyleMemberships.py", line 139, in getDeliveryStatus
>     self.__assertIsMember(member)
>   File "/usr/local/mailman/Mailman/OldStyleMemberships.py", line 113, in __assertIsMember
>     raise Errors.NotAMemberError, member
> Mailman.Errors.NotAMemberError: member-name at Productivity.com
> 
> * Running remove_members *
> # /usr/local/mailman/bin/remove_members mylistname member-name at Productivity.com
> No such member: member-name at Productivity.com
> 
> 
> -- 
> If at first you don't succeed, skydiving is not for you.
> 
> Have a great day and don't forget to laugh!
> 
> http://www.gcfl.net (The Good, Clean Funnies List): Good,
> clean daily funnies you can safely tell your mom!
> ------------------------------------------------------
> Mailman-Users mailing list
> Mailman-Users at python.org
> http://mail.python.org/mailman/listinfo/mailman-users
> Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py
> Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
> 

-- 
Experience is the sinking feeling you have made this
mistake before.

Have a great day and don't forget to laugh!

http://www.gcfl.net (The Good, Clean Funnies List): Good,
clean daily funnies you can safely tell your mom!



More information about the Mailman-Users mailing list