[Mailman-Users] Cannot Find/Receive Bounce Messages

Lena at lena.kiev.ua Lena at lena.kiev.ua
Tue Mar 2 21:19:24 CET 2004


> From: "Lloyd F. Tennison" <lloyd_tennison()whoever.com>
>
> I am trying to review the bounce messages - as with the new
> SPAM blockers if you are not on the person's "approved" list
> you email may not go through. I cannot seem to get the
> bounce message that Mailman cannot process - with or
> without Mailman bounce processing on. I have tried setting to
> send the messages to the list owner, and have set the posting
> by non-members to be held and forwarded. I get one or two
> messages sent to the list admin, but when I turn off processing
> and purposely send to a non-existent address - I receive
> nothing back in either the master account for the domain, the
> list admin account or the posters account.
> I do have mailman set to use an explicit reply to address and
> that address does not receive the daemon messages either.
> What am I doing wrong?

Bounces go not to "explicit reply-to", but to LISTNAME-bounces at DOMAIN

If you are a user of a web-hosting with cPanel (which uses Exim
and Mailman 2.1.3 changed by cPanel authors) then you can edit
/etc/valiases/DOMAIN  (for example /etc/valiases/example.com ).
That file is owned by your username, so you can overwrite it.
If you have shell (SSH) access and the web-hosting uses Linux
then you can use "pico" editor. If you haven't shell access then
upload two scripts to your public_html/cgi-bin/ and chmod them 755 or 700
(specify your userid and domainname instead of "USERID" and "DOMAIN"):

#!/usr/bin/perl -w
$| = 1;
print "Content-type: text/plain\n\n";
$| = 0;
open( STDERR, '>&STDOUT' );
$_ = $ENV{'QUERY_STRING'};
if ( m{[^\w\.\@/-]} or m{^home/USERID} or m{/\.\.?/} or m{^/} ) {
  print "invalid parameter\n";
}
else {
  if ( open( IN, "/$_" )) {
    while ( <IN> ) {
      print;
    }
    close IN;
  }
  else {
    print "open failed: $!\n";
  }
}


#!/usr/bin/perl -w
$| = 1;
print "Content-type: text/plain\n\n";
open( STDERR, '>&STDOUT' );
$from = '/home/USERID/va';
$to = '/etc/valiases/DOMAIN';
if ( -e $from ) {
  print `cp $from $to`;
  print "\ncp exit status: $?\n";
  if ( unlink $from ) {
    print "\ndeleted\n";
  }
  else {
    print "\nerror deleting\n";
  }
}
else {
  print "doesn't exist\n";
}

Lets assume that your domain name is example.com and you named
these two scripts view.pl and replace.pl . Enter in a browser:
http://example.com/cgi-bin/view.pl?etc/valiases/example.com
then Save As, make an unedited copy,
in the line beginning from "LISTNAME-bounces:" replace all what
is after the colon and the blank by your email address, upload the edited
file to your FTP root directory under the name "va", enter in a browser:
http://example.com/cgi-bin/replace.pl
After you finish experiments, upload unedited copy and again
invoke second script.

Since about February 22 cPanel several times regenerated LISTNAME-*@ aliases
(during cPanel updates?). If that practice continues then your changes
will be lost. So check from time to time (via SSH or by view.pl)
that your changes in  /etc/valiases/DOMAN  remain in effect.

Lena




More information about the Mailman-Users mailing list