My company has tasked me to port our existing mailing list to mailman. The
requirement is that the list of subscribers has to be kept in mysql. (We
have scripts and reports that use this list).
I'm a python newbie, so please bear with me.
I've taken a look at MailList.py and understand that the subscriber list and
all other data is stored as a marshal in config.db. And this is stored in
the methods Load and Save.
I'm proposing that when Save is called, it also makes changes to the mysql
db. And after a Load, it queries the db. This sounds very expensive, and
I'm wondering if developers here who know Mailman and python better would
have a better scheme. Also if I'm missing anything in my analysis.
Updated both my production and test servers (no, not in that order) to
whatever was in cvs this morning, which at least has me stamped as 2.0beta2...
Seems to be working fine, including news gating... I'm watching the logs.
Did have one weirdness where the production server was giving me tracebacks
on the listinfo page.. Which went away after I tried it a couple of times, while
check_perms was running... check_perms found nothing wrong, and the script
"healed" itself. Bizarre...
Somehow, my /home/mailman/lists directory managed to get set
with permissions check_perms didn't check for; it was set to
d-wx-ws--x/mailman/mailman, which caused mailcmd to be unable to
list the directory (no read perms).
I fixed it once I figured it out, but I had a lot of check_perms
runs in there before I finally figured it out...mostly because
I was confused about what 'x' really means on a directory.
But check_perms could have saved me time if it had checked for
'owner-and-group-read'; I think it should.
i would like to know, if mailman can handle the following szenario:
1. automatic subscribing to a fixed list (eg. via cgi script). that
a program (eg. cgi-script) should handle the subscribing/unsubscribing
mechanism by sending a static mail to the *-request address WITHOUT (!!)
using the password mechanism (new privacy option: *not confirming).
2. deleting the mail-header to anonymisize the mails which will be
the reasons for that is my plan to have an automatic anonymous mailing
list defined, where only the administrator will post messages.
please answer directly to me, cause i'm not on the list.
thanks a lot and sorry for my english
ISV Partner SE Tel: (++49 30) 74 70 96 65
Sun Microsystems GmbH Fax: (++49 30) 74 70 96 99
Lankwitzer Str. 19 mailto:email@example.com
12107 Berlin http://www.sun.de
So, in 1.0rc2, displaying the list of lists for 529 lists
requires 529**2 = 279841 system stat calls and takes over one
and a half minutes on our Ultra-2 2x296 processor system! Is
this because of Python, Mailman, or both? Has this been "fixed"
in 2.0? You really should only need to make one stat call per
Roberto Ullfig : rullfig(a)uchicago.edu
Networking Services and Information Technologies
University of Chicago
Adding a "save_list=0" (or just a fourth argument '0') to the two calls
to SetUserOption in admin.py speeds up that "set one option" flag a
*whole* lot. It might be that similar "optimizations" to the other
forms processing (DeleteMember, primarily) are a bit unsafe, but it seems
like a huge win for the SetUserOption calls, and not very unsafe, since
the list will be saved after processing all users anyway.
Now that I'm in the same room with my Mailman server, I notice
that, at least after setting admin_user_chunksize to 50 (from
the default 30) that changing one user's "mailto" flag from off
to on (to disable a user by hand temporarily) beats the living *hell*
out of the disk, and server. Something bad wrong is going on there;
I truss'ed it once and it was continually doing something like
opening a file, writing it, and closing it. I don't know what.
Something's wrong though. I haven't started to try to look at the
form-processing code to see what happens.
> >>>>> "DM" == Dan Mick <dan.mick(a)West.Sun.COM> writes:
> DM> Python's library-search path has to be set to include
> DM> /home/mailman/Mailman. I just discovered that bin/withlist
> DM> doesn't do this recently; I'm guessing the driver script
> DM> doesn't do it either. For your purposes, I would think that
> DM> augmenting PYTHONPATH in the environment should suffice.
> Right, because driver is only supposed to be run from the C wrapper
> binary, which /does/ set PYTHONPATH. I didn't expect withlist to be
> run without explicitly invoking python.
But even when withlist is run from Python, PYTHONPATH/sys.path doesn't
include /home/mailman/Mailman (this is 1.1):
python -i bin/withlist <listname>
Loading list: <listname> (unlocked)
['/home/mailman', 'bin', '/usr/local/lib/python1.5/',
This means that the relatively-obvious "import mm_cfg" doesn't work.
How come? Things like that *do* seem like the very purpose of
> The -r switch could be used
> this way so I think I'll add a #! line at the top. Note that it does
> not help to add -i in the #! line.
I just got this bugreport in the debian BTS. Comments ?
Madarasz Gergely gorgo(a)sztaki.hu gorgo(a)linux.rulez.org
It's practically impossible to look at a penguin and feel angry.
Egy pingvinre gyakorlatilag lehetetlen haragosan nezni.
---------- Forwarded message ----------
Date: Mon, 03 Apr 2000 18:16:45 +0300
Subject: Bug#61695: mailman: mail->news gw blows up on mails without subject
Resent-Date: Mon, 03 Apr 2000 15:18:02 +0000 (GMT)
Resent-cc: Gergely Madarasz <gorgo(a)sztaki.hu>
i have a local newsgroup, and i created a mailman list named test2,
telling mailman to gateway messages from it to the local newsgroup.
the news server is inn-1.7.2-16.
% echo seppo | mail test2(a)erno.iki.fi
From: Mail Delivery System <Mailer-Daemon(a)erno.iki.fi>
Subject: Mail delivery failed: returning message to sender
Date: Mon, 03 Apr 2000 18:08:03 +0300
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. The following address(es) failed:
generated |/var/lib/mailman/mail/wrapper post test2
The following text was generated during the delivery attempt:
------ |/var/lib/mailman/mail/wrapper post test2 ------
Traceback (innermost last):
File "/var/lib/mailman/scripts/post", line 73, in ?
File "/usr/lib/mailman/Mailman/MailList.py", line 1331, in Post
File "/usr/lib/mailman/Mailman/GatewayManager.py", line 143, in
msg.SetHeader('Subject', '%s(no subject)' % subjpref)
------ This is a copy of the message, including all the headers. ------
Received: from erno by erno.iki.fi with local (Exim 3.12 #1 (Debian))
for <test2(a)erno.iki.fi>; Mon, 03 Apr 2000 18:07:59 +0300
From: Erno Kuusela <erno(a)erno.iki.fi>
Date: Mon, 03 Apr 2000 18:07:59 +0300
looks to me like this is bad, because if i want to use mailman to, say,
gateway messages from debian-devel to a local read-only newsgroup,
bounce messages will be sent to the listowner of debian-devel
and he will likely kick me off the list when he gets tired
of things like this.
also this is a crash, and if i understand correctly those should
generally filed as important bugs. (please tell me if i'm wrong)
-- System Information
Debian Release: 2.2
Kernel Version: Linux fun77 2.2.10 #1 Sun Jun 20 19:03:53 EEST 1999 i586 unknown
Versions of the packages mailman depends on:
ii apache 1.3.9-12 Versatile, high-performance HTTP server
ii cron 3.0pl1-57 management of regular background processing
ii libc6 2.1.3-7 GNU C Library: Shared libraries and Timezone
ii logrotate 3.2-11 Log rotation utility
ii python-base 1.5.2-9 An interactive object-oriented scripting lan
sendmail Not installed or no info
ii exim 3.12-7 Exim Mailer
^^^ (Provides virtual package mail-transport-agent)
ii apache 1.3.9-12 Versatile, high-performance HTTP server
^^^ (Provides virtual package httpd)
I just modified the latest version of Mailman/pipermail to support local
characters (like äöüß). Headers with "=?ISO-8859-1..." are really
Basically my code decodes every message header with the mimify module.
Is anyone interested in the source? It modifies Message.py, Mailbox.py,
pipermail.py and Hyperarch.py.
Besides I would like to implement a better MIME support in Mailman. Then
you could e.g. block binary attachments in the list or display
HTML-mails with inline-graphics in the archive.