Re: [Mailman-Users] Do sender filters apply to subscription requests?

2019-09-18 Thread Jim Ziobro

On 9/17/2019 1:37 PM, Kevin Bowen wrote:

Hello,
One of my instance's lists is apparently getting spammed with subscription
requests from addresses outside my org. In sender filters, for
reject_these_nonmembers I put ^(?!.*(example)\.com$) [actual domain
redacted], but the requests still get through to the moderation queue. Do
the sender filters apply only to posts, not to subscription requests? If
so, is there any way to automatically reject subscription requests based on
a regex?


Use milter-regex.  Very 
flexible.  Chances are you want to keep these guys out of more than your 
request address but milter-regex could be fine tuned for one specific 
address or pattern of addresses.  Like:


|# filter requests from GMAIL
reject "Your requests offend me."||
||envrcpt /-requ...@lists.ziobro.info/||
||and||
||envfrom /@gmail.com/|

The offending message will never even get on your machine.  In general 
you want to filter in the SMTP stream before an undesireable message 
gets on to your machine.  Once a message gets put into Mailman there is 
the potential of backscatter.


Ciao,

//Z\\


--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] Messages delivered out of order and delayed

2019-09-13 Thread Jim Ziobro
Indeed email is not a synchronous messaging channel.  But most email 
clients will sort incoming messages by header Date thus undo the effects 
of out-of-order delivery.


 Even if you send out two messages in a row to j...@gmail.com there is 
no guarantee that both messages go to the same machine. The two 
receiving machines may have different loads and may not even be running 
the same software.


Almost all email MTAs send out smaller messages first.  In general that 
is a good thing.  It virtually guarantees out of order delivery for a 
rapid discussion.


The wild random delay is not unique to Mailman.  I had a Yahoo Group 
with a couple hundred addresses.  Some messages went in seconds but 
every once in a while messages took days to get delivered sometimes to a 
subset of the members.  This happened even to @yahoo.com recipients!


Ciao,

//Z\\

--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


Re: [Mailman-Users] Need assistance configuring Mailman version 2.1.15 on RHEL7

2019-07-19 Thread Jim Ziobro

On 7/16/2019 8:24 AM, Mr. Vishal Gandhi wrote:

We installed Mailman version 2.1.15 on RHEL7 using yum. We don't want mailing 
lists' email addresses with the same domain as the server has. For example: 
server is example1.fdu.edu . We would like to have email addresses of the 
mailing lists to end with @fdu.edu so that someone sends email toli...@fdu.edu  
and the subscribers of the the mailing list list1 will receive it. Can some one 
please provide us some guidance on how can we accomplish this?

We'll appreciate any help or guidance we may receive.


An important consideration is whether you want to let your Mailman 
system create an arbitrary mailing list.  For example would your mail 
admin allow the Mailman system create a list named: vgan...@fdu.edu?


The easiest solution is to create mailing lists in a separate name space 
(domain).  The common practice is to create lists under lists.fdu.edu.  
Then Mm-handler is the easy solution.  You can ignore all the troubles 
with generating aliases files.  If your mail admin really wants the list 
to appear in fdu.edu they can add the aliases under fdu.edu.  Mm-handler 
is shown for sendmail but it will work in any mailer.


My updates to mm-handler are on: http://sw.ziobro.info/mm-handler/


Ciao,
//Z\\
Jim Ziobro




--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] FetchMail feed into Mailman

2019-03-26 Thread Jim Ziobro
FetchMail injects messages into the local mail system via SMTP.   I see 
it also supports LMTP.  So I guess you would not need a local mail 
system with Mailman3.  But why not setup standard Mailman under your 
favorite mail system and let FetchMail do what it does best?  It is a 
widely supported configuration.


Your favorite mail system would handle queues for you as well as support 
all the tools (milters, etc) surrounding your mailman deployment.  
Reliably handling the queue is important.  You won't know how important 
until you start getting duplicate messages like RFC 1047 
.


Just checking... when using fetchmail (for example "testlist" on Gmail) 
then you'd be fetching mail for: testl...@gmail.com as well as


testlist-ad...@gmail.com
testlist-boun...@gmail.com
testlist-conf...@gmail.com
testlist-j...@gmail.com
testlist-le...@gmail.com
testlist-ow...@gmail.com
testlist-requ...@gmail.com
testlist-subscr...@gmail.com
testlist-unsubscr...@gmail.com
owner-testl...@gmail.com

My fetchmail test is giving me reasonable Sender info.

Ciao,
//Z\\


On 3/25/2019 12:45 PM, Mark Sapiro wrote:

On 3/25/19 8:21 AM, Grant Taylor via Mailman-Users wrote:

Noted.  I think it would be possible to interject a shim between
fetchmail that would extract what's necessary to speak LMTP to Mailman.


Yes, it would be possible.



Is the LMTP still STDIN / STDOUT or something else (possibly a Unix
socket)?


The shim could receive a message on stdin from fetchmail, but it would
have to deliver the message via LMTP (a subset of SMTP) to Mailman's
lmtp runner which listens on a tcp socket, typically localhost:8024.



I'm trying to understand if I could drive Mailman 3 via Expect.  Not
that I would.  I'm just wondering if I could.


You probably could if you created an Expect script to speak LMTP. I
think the major issue in this is that fetchmail does not provide the
envelope, so you don't know the actual envelope sender to use in the
LMTP MAIL FROM command. If the MDA that delivered the mail to the remote
mailbox was compliant, it will be in a Return-Path: header in the
message, but otherwise you'd have to fake it by using a Sender: or From:
header. Also, you don't directly know the original recipient, although
you can infer it based on the mailbox you fetched from.



--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] Anti Spam to stop list attacks

2019-01-20 Thread Jim Ziobro
I assume you are referring to random postings vs. an adversary targeting 
you specifically.


An internet-facing mail server has to have some anti-spam technology 
<https://en.wikipedia.org/wiki/Anti-spam_techniques#Confirmed_opt-in_for_mailing_lists>.  
Email addresses out on public web pages will get hoovered up and added 
to spam lists.  The server will soon be hit by botnets from around the 
world.  By default Mailman lists the posting address of the mailing 
list.  Expect spam!


If you are being hit by spam then you should stop it before your server 
accepts the incoming mail.  Once mail is accepted on your system you 
have lost half the battle. Either discard unwanted posts or risk back 
scatter.  As you noted it takes work in Mailman to handle general spam.


May I suggest creating a web page with addresses to serve as a honeypot 
on your server.  Then you know everything sent to those addresses are 
junk.  I learned a lot by using that trick.


Ciao,
//Z\\
Jim Ziobro
On 1/19/2019 4:58 PM, Kenneth G. Gordon wrote:

One of my forums has suddenly been inundated with posts to the list by 
non-subscribers,
most of which seem to be coming from some homosexual list somewhere.

These seem to be coming from every place in the world.

I receive notices from Mailman every time I check my e-mail listing of 4 to a 
dozen
non-subscribers attempting post to the forum, and I have to go to my admin 
database and
remove and block each one.

Is there some way to prevent these jerks from showing up in the database at all?

Ken Gordon
--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/list%40ziobro.rochester.ny.us



--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] mm-handler same as postfix-to-mailman.py

2019-01-04 Thread Jim Ziobro

Mm-handler works well when mail-lists are in a separate domain.

I ran across postfix-to-mailman.py while researching mailman to postfix 
connections.  I realized it performs the same function as mm-handler.  I 
changed mm-handler to be a drop in as a replacement for 
postfix-to-mailman.py 
<https://github.com/fauria/docker-mailman/blob/master/centos7/postfix-to-mailman.py>. 
It is under:


http://sw.ziobro.info/mm-handler/

I did a test install of mailman with Postfix to test it.  It worked.

I also setup a Mailman to Postfix connection using the aliases method as 
described in the documentation.  That worked fine also. I don't use 
Postfix but using the postfix-to-mailman.py seemed a little more obvious 
than setting up through the aliases method. The Postfix package on 
CentOS 7 even had comments where the mailman transport entry would go. 
Configuring is especially tough if you are not familiar with Python. :-)


Setting up mailing lists in a separate domain has a nice administrative 
appeal.  I did a little more research to see how popular that method 
might be.  I got a list of 1922 US universities and 457 have a host 
"lists" and 191 have a host "list..." in their DNS.  I surveyed a 
few and ran across: Mailman, Lyris, Sympa, Listserv, Majordomo, and 
Google groups.  Many universities outsource their Email to Outlook which 
has it own Group capability.


Running mail list software is clearly popular.  Both mm-handler and 
postfix-to-mailman.py are contributed code.  The folks who package the 
various tools add glue to make them easy to use.  It looks like both 
Sympa <https://sympa-community.github.io/manual/>and Mailman have very 
similar requirements.  Maybe time to work together?


I can hook up any mail system.  Just give me the list of mail-lists and 
tell me how to inject messages.  Glue will be more specific to a Mailer 
and OS than either Mailman or Sympa.  I think we get a benefit if we 
make a clean interface between Mailman and its feeding MTA.  We can then 
eliminate some of the hacks like mm-handler.


I have some ideas for Mailman2.  I'll follow up.

Ciao,
//Z\\
Jim Ziobro


--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] Translation (Localization) of mail addresses?

2018-12-05 Thread Jim Ziobro
Are there any plans to support changing of mail interface addresses for 
other languages?


In MTA/Utils.py I find:
 ('admin', 'bounces', 'confirm', 'join', 'leave', 'owner', 'request', 
'subscribe', 'unsubscribe'):

 Should the Italian mail extensions be something like:
    gestire rimbalzi confermare aderire partire proprietario 
richiesta sottoscrivi annulla?


In the future could someone unsubscribe from terr...@dogs.us or 
terr...@cane.it with mail to:

    terrier-unsubscr...@dogs.us
or
    terrier-annu...@cane.it

Yes, I can do it in the mail system interface now but will Mailman ever 
want control over those mail addresses?  Some of the mail addresses are 
listed in the help messages for example.


Right now the above list is hardwired in places outside of Utils.py.  It 
would be cleaner if there was a documented way for me to get the list of 
extensions.


Ciao,

//Z\\

--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] Updated view on Sendmail integration

2018-12-04 Thread Jim Ziobro
I am still fairly new to Mailman but I have been a long time Sendmail 
user.I like to know how things work.Partly out of security paranoia and 
partly out of curiosity I started hacking around the MTA interface.


One of the things I now see is that Mailman depends on a group for 
access(vs. setuid).Sendmail does not like group accessible things files 
or directories based on a long history of security problems.Somewhere 
there has to be a bridge between the Mailman security model and Sendmail 
(or any other MTA).


Back in 2004 the approach was to create a shell scriptThat script would 
get executed as root.More on that later.


Another approach was mm-handler.Mm-handler handles the security bridge 
by calling back Mailman after it has switched to UID/GID: 
mailman/mailman.An elegant solution.The v3 version 
<http://sw.ziobro.info/mm-handler/>optionally allows mail not destined 
for a mailing list to be delivered locally.Thus mm-handler could be used 
to implement mailing lists in front of an existing mail domain.It looks 
like the mm-handler could be integrated into Postfix and probably other 
MTAs.I suspect passing all mail through mm-handler would be a 
performance drag for a busy mail system.It looks like leaving MTA set to 
‘Manual’ is best but that generates a little irrelevant text.


If you want to mix Mailman mailing lists in with your regular mailboxes 
and aliases then the classic method of using the aliases file as 
generated by Mailman seems best.The 2004 instructions suggested using a 
shell script to copy the Mailman generated aliases file into /etc/mail/ 
configuration directory for Sendmail.See: 
https://mail.python.org/pipermail/mailman-users/2004-June/037518.html


Current distributions of Sendmail contain a file /etc/mail/make which is 
an appropriate place for such customization.The /etc/mail/make script 
gets executed every time Sendmail restarts.It is called once as “make 
aliases” and again as just “make” before Sendmail restarts.Instead of 
creating a shell script you could just edit the /etc/mail/make file so 
the makealiasesdb function reads:


makealiasesdb() {
/usr/bin/cp /etc/mailman/aliases /etc/mail/mailman-aliases/usr/bin/newaliases > 
/dev/null
}

I started wondering where the interface between Mailman and MTA should 
be defined.For example if I am using MTA=’Manual’ then I could setup my 
/etc/mail/make as:


makealiasesdb() {

/usr/lib/mailman/bin/genaliases > /etc/mail/mailman-aliases

/usr/bin/newaliases > /dev/null

}


But the ‘Manual’ mailer has no capability of signaling the MTA that the 
mailing lists have been updated.If I use MTA=’Postfix’ then genaliases 
has no output.Apparently the genaliases program is a function of the MTA 
setting.So I rolled my own aliases with a perl program:


#!/usr/bin/perl -w

# create the Mailman aliases file

open(A,"/usr/lib/mailman/bin/list_lists -b|") ||

exit(1);
my @e= qw(admin bounces confirm join leave owner request subscribe unsubscribe);

while(){
chop;

print "$_:\"|mailman post $_\"\n";

foreach my $x (@e){
print "$_-$x:\"|mailman $x $_\"\n";
}

print "owner-$_:$_-owner\n"; # Majordomo fans

}

The perl program can be stuffed into one line in the make shell script 
like this:


makealiasesdb() {

# genaliasesinto /etc/mail/mailman-aliases

/usr/bin/perl -e ' open(A,"/usr/lib/mailman/bin/list_lists -b|") || 
exit(1); my @e=qw(admin bounces confirm join leave owner request 
subscribe unsubscribe); while(){ chop; print "$_:\"|mailman post 
$_\"\n"; foreach my $x (@e){ print "$_-$x:\"|mailman $x $_\"\n"; } print 
"owner-$_:$_-owner\n"; }' > /etc/mail/mailman-aliases


/usr/bin/newaliases > /dev/null }

Once the need for genaliases is gone I could simplify the 
MTA/Sendmail.py create function to:


def create(mlist, cgi=False, nolock=False, quiet=False):

# restart the mail program so new aliases are active

msg = 'command failed: %s (status: %s, %s)'

if not nolock:# NOT genaliases

acmd = mm_cfg.RESTART_MAILER_CMDstatus = (os.system(acmd) >> 8) & 0xffif 
status:errstr = os.strerror(status)syslog('error', msg, acmd, status, errstr)raise 
RuntimeError, msg % (acmd, status, errstr)


The RESTART_MAILER_CMD configuration will Default to:
RESTART_MAILER_CMD = ‘sudo systemctl restart sendmail’

On older systems it might be: ‘sudo /etc/init.d/sendmail restart’

By moving the responsibility to create aliases out of Mailman the 
Mailman code base shrinks a lot.Smaller is better.It works for me.


Is the directory “/etc/mailman” group-writable only to support the 
creation of an aliases file?I would feel more confident if /etc/mailman 
was only writable by root.


This is where I am now.I cut and paste Python code but don’t necessarily 
understand it.If someone could give the Python code a look over then 
I’ll organize it a little better for a release.


This got a little long.

[Mailman-Users] Start of MTA/Sendmail;.py

2018-11-30 Thread Jim Ziobro
The MTA=Postfix creates a file: "/etc/mailman/aliases".  That file is in 
the format used by Postfix , Sendmail, Exim, etc. to form the mail 
interface into Mailman.  It looks like the intention was that Mailman 
would maintain that file along with edits by a human.  Is that 
functionality still useful?  The cost is a complex MTA/Postfix.py.


The only functionality I want out of Postfix.py is the ability to write 
out a complete aliases file like genaliases does.  Could someone do that 
for me?  I have not done any Python code.:-(


I propose two new config entries for MTA='Sendmail':

    MAIL_ALIAS_FILE='/etc/mail/aliases-mailman'

    NOTIFY_MAILER='sudo systemctl restart sendmail'

I see some support for virtual mail domains.  Can I now have two 
distinct and separate mailing lists like:


memb...@a.example.com

memb...@b.example.com

???  Or do virtual domains just keep the mailing list names outside the 
local-mail name space?


I have a script that I use locally to make virtual domains in Sendmail.  
It should make supporting virtual domains trivial.


Ciao,

//Z\\

P.S.: I appreciate Grant's comment that mm-handler minimizes changes to 
the MTA.  If you want to put mailman lists into the local mail domain 
then I think we still need the aliases route.


--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


Re: [Mailman-Users] mm-handler or aliases to integrate with sendmail

2018-11-29 Thread Jim Ziobro
Mm-handler is definitely a cool idea. But it seems that once Mailman can 
update Sendmail's aliases immediately there is no need for mm-handler.


I need to test my understanding.  Is setting MTA to 'Postfix' supposed 
to cover the 'Sendmail' case with some changes or should there be a 
specific MTA file to cover Sendmail?


According to: 
https://mail.python.org/pipermail/mailman-users/2004-June/037518.html
it is just a matter of changing POSTFIX_ALIAS_CMD to something 
different.  I either missed the article or I didn't understand it the 
first time I looked at the docs.  This seems like it might be easier to 
maintain and setup than the mm-handler.  At least it is the way I would 
have chosen.


Mark, Thanks for the pointer!

Ciao,
//Z\\
On 11/28/2018 5:27 PM, Grant Taylor via Mailman-Users wrote:

On 11/28/2018 02:39 PM, Jim Ziobro wrote:
I now realize that mm-handler would not be necessary if Mailman fully 
connected to Sendmail.  The Postfix connection looks very close.


Please elaborate on what you mean by "if Mailman fully connected to 
Sendmail".  Rather, how is Mailman not already connected to Sendmail 
via mm-handler?


Or is your goal to remove mm-handler and directly configure Mailman 
itself as what Sendmail refers to as a "Mailer"?




--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] mm-handler v3

2018-11-28 Thread Jim Ziobro
I started with the 2008 version of mm-handler.  My original goal was to 
fix a couple of bugs: lower case conversion and forwarding mail to 
POSTMASTER.  But I rewrote it to remove stuff which will never get 
executed and remove other things which might cause future bugs.  
mm-handler went from 300 lines to 165 lines.  I have the source and a 
README on:


http://sw.ziobro.info/mm-handler/

This simpler version can drop in where previous versions are used.

The v2 version optionally cut out the aliases: list-join and 
list-leave.  This was an attempt to reduce "backscatter."  However the 
v2 version left in the alias list-request so any backscatter caused by 
the other aliases could just as easily been created through the 
list-request alias.  Backscatter is something I am fuzzy about.


The v3 version by default will forward mail that does not match a list 
to the local mail system.  It could be used to support lists on top of 
an existing mail domain.


As I was working on this I came to understand more about how Mailman 
works.  I now realize that mm-handler would not be necessary if Mailman 
fully connected to Sendmail.  The Postfix connection looks very close.  
I'll take a crack at it.


Enjoy!

Ciao,
//Z\\
Jim Ziobro
--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] mm-handler starting version

2018-10-31 Thread Jim Ziobro

On 10/29/2018 11:22 PM, Mark Sapiro wrote:

On 10/25/18 10:00 AM, Grant Taylor via Mailman-Users wrote:
What is the authoritative version / source of mm-handler?


I am starting from the contrib directory file named:
    mm-handler-2.1.10
inside is line:
    $VERSION = '$Id: mm-handler 2.1.10 2008-04-14 00:00:00 $';

My goals:

 * patch upper/lowercase issue solved a decade ago
 * allow mail to postmas...@list.example.com to forward to the
   machine's postmaster.   This fix allows arbitrary personal aliases. 
   (Support RFC-2142)

One other feature that I'd like is to optionally save *all* bounce 
messages.  This is valuable for initial list creation.  Is that feature 
available elsewhere in mailman?


Thanks,
//Z\\
Jim Ziobro
--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] mm-handler support

2018-10-25 Thread Jim Ziobro
I used mm-handler to setup mailman here.  It is a wonderful piece of 
work!  Go Dave Champion (2006)!


There is a couple of simple things that need to be done:
    - add the conversion to lowercase (solved over a decade ago!)
    - handle POSTMASTER (RFC822)

I am a newbie to mailman but an old sendmail hand.  I'd be happy to make 
those changes.  Anyone else got comments about mm-handler?

Ciao,
//Z\\
Jim Ziobro
--
Mailman-Users mailing list Mailman-Users@python.org
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-users/archive%40jab.org