Support your MTA! (fwd)

Top Page
Delete this message
Reply to this message
Author: Manar Hussain
Date:  
To: exim-users
Subject: Support your MTA! (fwd)
I don't think I'm going to have a chance to pick up on this in the short
term - anyone else interested ?

(it's about majordomo 2 which is just now in alpha)

---------- Forwarded message ----------
From: Jason L Tibbitts III <tibbs@???>
To: majordomo-workers@???
Date: 24 Aug 1997 00:37:24 -0500
Subject: Support your MTA!
Message-ID: <ufa7mdcuoob.fsf@???>

I was hoping that proponents of other MTAs would jump at the chance at
getting support for their favorite software in early, but perhaps the cost
of entrance is to high. So I'll make it easy.

Majordomo creates all of its internal structure automatically when given
the 'createlist' command, then it calls the appropriate function to
generate information telling a responsible party what to tell the MTA. To
support your MTA, write a function that gives the user enough information
to tell your MTA about a list. You get these parameters:

owner => name of list owner
list => name of list (no list -> produce global aliases)
bindir => path to Majordomo executables
domain => domain this list or majordomo is to serve

but if you need something else, ask. (Majordomo already knows what MTA you
have; it is told at installation time.)

You should output a header with explanatory information, and the actual
"stuff". For Sendmail, the "stuff" is aliases; for qmail, it might be a
little shell script that they could run to create the necessary dotfiles.

Here's the function for Sendmail:

sub sendmail {
my $log = new Log::In 150;
my %args = @_;

my $bin = $args{'bindir'} || $log->abort("bindir not specified");
my $dom = $args{'domain'} || $log->abort("domain not specified");
my $own = $args{'owner'} || $log->abort("owner not specified");
my $list = $args{'list'} || 'GLOBAL';

my $head = <<EOS;
Please add the following lines to your aliases file, if they are not
already present. You may have to run the "newaliases" command afterwards
to enable these aliases.
EOS

  if ($list eq 'GLOBAL') {
    return ($head, qq(# Aliases for Majordomo
majordomo:       "|$bin/mj_email -d $dom"
owner-majordomo: $own,
majordomo-owner: $own,
# End aliases for Majordomo
          ));
  }
  else {
    return ($head, qq(# Aliases for $list
$list:         "|$bin/mj_resend -d $dom -l $list"
$list-request: "|$bin/mj_email  -d $dom -l $list"
$list-owner:   $own,
owner-$list:   $own,
# End aliases for $list
         ));
  }
}


- J<