On Mon, May 07, 2001 at 09:20:52PM -0700, Sarah K. Miller wrote: > I run a server with about 80 lists on it. Everything goes smoothly until > the monthly reminder is sent out on the first of the month. Every > outgoing message indicates the "Sender" is the same list-owner, > regardless of which list the subscriber was actually a member of. For > example, I have a lists named [EMAIL PROTECTED], [EMAIL PROTECTED] and > [EMAIL PROTECTED] The monthly reminder shows every message to have a > "sender" of [EMAIL PROTECTED] This causes the undeliverable messages > from all 80 lists to land in the lap of some poor unsuspecting list > administrator who has no clue why they're getting bounces from people who > aren't on their list. I would like to change the default "Sender" to be yep, that's annoying. I've found that mailman uses the first list that was ever created (probably does a readdir and picks the first list in ~mailman/lists) I created the very first list to be test, and the owner is an alias that gets aliases to a file on disk. After the first of the month, I run the attached script on that mailbox (after manually removing vacation messages), and feed all the resulting Emails into remove_members -f - _alllists_ Mailman should however make the envelope and header senders of reminder Emails configurable (I'd want both of them to be distinct) Marc PS: you need the remove_members patch from https://sourceforge.net/tracker/?func=detail&aid=413257&group_id=103&atid=300103 -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger [EMAIL PROTECTED] for PGP key
#!/usr/bin/perl -w # Extract Emails from a mailbox with bounces (remove vacation autoresponders # first) -- Marc <[EMAIL PROTECTED]> 2001/05/02 use strict; my @mb; my $line; my %mails; my $key; die "$0 mailbox" if (not defined $ARGV[0]); open (MB, $ARGV[0]) or die "Can't open $ARGV[0]: $!"; # Actually RFC 822 says Emails can have spaces, but I don't want to deal # with that. @mb=grep(/[\s'"<=;(:][^\s'"<=;(:]+@[^\s'">]+\.[^\s'">;:)]+[\s'">;:)]/, <MB>); close (MB); @mb=grep (!/usw-sf-/i, @mb); @mb=grep (!/sourceforge.net/i, @mb); @mb=grep (!/message-id/i, @mb); @mb=grep (!/reference/i, @mb); @mb=grep (!/ESMTP id/i, @mb); @mb=grep (!/id </i, @mb); @mb=grep (!/X-MS-TNEF-Correlator/i, @mb); @mb=grep (!/IDENT/i, @mb); @mb=grep (!/postmaster/i, @mb); @mb=grep (!/mailer-daemon/i, @mb); @mb=grep (!/mail-daemon/i, @mb); foreach $line (@mb) { chomp($line); $line=~s/.*[\s'"<=;(:]([^\s'"<=;(:]+@[^\s'">]+\.[^\s'">,;:)\.]+)[\s'">,;:)\.]?.*/$1/; #print $line."\n"; $mails{lc($line)}=1; } foreach $key (sort keys %mails) { print $key."\n"; }