I sent an e-mail about my problem last night, and had a few responses, but I wanted to send another e-mail with some more information. Below are the steps I have used to get mm-handler installed. I believe I have followed the instructions, but I may have left something out or interpreted something incorrectly.
-- 1. Copy mailman.mc, and make any changes you need at your site. You DEFINITELY need some changes. There are hostnames in there that you need to adjust, and chances are that you'll need to change some other parameters (like the host OS), too. [1] --
I copied the mailman.mc file over my original .mc file in /etc/mail (after backing up the old). I changed the OS, and the paths to procmail. The mail definitions look like this:
MAILER_DEFINITIONS #################################### ### New Mailer specifications ### ####################################
## Special flags! See ## http://www.sendmail.org/~ca/email/doc8.10/op-sh-5.html#sh-5.4 ## Note especially the absence of the "m" and "n" flags. THIS IS ## IMPORTANT: mm-handler assumes this behavior to avoid having to know ## too much about address parsing and other RFC-2822 mail details.
Mmailman, P=/etc/mail/mm-handler, F=rDFMhlqSu, U=mailman:mailnull,
S=EnvFromL, R=EnvToL/HdrToL,
A=mm-handler $h $uI use FreeBSD, and mailnull is the group sendmail uses.
-- 2. Install mm-handler. Because my server's sendmail-related files live in /etc/mail, I keep mm-handler there, too. YMMV. --
Install? Well, I copied mm-handler to the same dir all my other mail files are located: /etc/mail.
-- 3. Edit mm-handler, and make any changes you need at your site. You probably want to change $MMWRAPPER and $MMLISTDIR at line 14, and you *might* want to take a look at the helpful boilerplate text beginning at line 64. (This text is sent whenever someone tries to send mail to a nonexistent list address on your mail domain.) --
I changed the following:
a] The path to perl.. to /usr/bin/perl (at the top)
b] The $MMWRAPPER path is where my mailman files are located on my webserver which is $MMWRAPPER = "/www/mailrings/mail/mailman"; and the next line to $MMLISTDIR = "/www/mailrings/lists"; I also changed the sendmail path to reflect my path, which is $SENDMAIL = "/usr/sbin/sendmail -oem -oi";
That's about all the changed I made to that file. I left the text in the mail alone for simplicity sake.
-- 4. You should set up a virtusertable. (See mailman.mc for an explanation.) There's an example of a good, minimal virtusertable in this distribution. The virtusertable begins as a text file named "virtusertable", stored in the same directory as all the other Sendmail files, but it's converted to a map file for Sendmail's use. Install the virtusertable, and (re)make the map file. [2] --
The virtusertable has only one entry for my mailman domain, which is: @mailrings.com [EMAIL PROTECTED]
(My site is www.mailrings.com)
-- 5. You absolutely must have a mailertable, or all of this goes nowhere. Like virtusertable, the mailertable is a map that begins as text and gets converted. It's named "mailertable", and it's probably pretty simple. Mine looks like this:
listtest.uchicago.edu mailman:listtest.uchicago.edu
This says: assign all incoming mail (that was not intercepted by the virtusertable) and that is in the listtest.uchicago.edu domain to the "mailman" mailer, and tell the "mailman" mailer that the hostname we're using is "listtest.uchicago.edu". You can support multiple virtual hosts using mm-handler just by placing corresponding lines in mailertable.
Be sure to make this map, too! -- My mailertable file is very simple:
mailrings.com mailman:mailrings.com
As the directions say, I want mailman to handle ALL requests made to mailrings.com.
And yes, I 'made' the files to convert mc to cf, etc..
-- 6. The mailer definition (see the end of mailman.mc, or your own .mc file) for mm-handler sets the user/group that mm-handler will run under. (I use mailman:other.) Be sure that mm-handler is executable by this user or group. You almost certainly need the user to be the same as the Mailman user, and this user is almost always called "mailman", so you probably shouldn't change the defaults. --
Did this as you can see from my config file above. It's mailman:mailnull.
-- 7. Generate your new sendmail.cf file. See the sendmail documentation if you're not familiar with this procedure. [1] --
Did the make, which redid my sendmail.mc file, virtusertable, and mailertable.
-- 8. Stop sendmail on your list server, if you haven't already. Install the new sendmail.cf file wherever your sendmail.cf file belongs. (This depends on how sendmail was compiled, but most systems support using /etc/sendmail.cf.) --
I stopped sendmail as I always do by giving the command "make stop", in which it replies:
Stopping: sendmail sendmail-clientmqueue.
Then restarted, and it replies: Starting: sendmail sendmail-clientmqueue.
All files are already at /etc/mail so there is no need to 'install new sendmail.cf file'.
-- 9. Cross your fingers and restart sendmail. --
Done.
-- A. Barry warns that Mailman now needs you to modify your Mailman/mm_cfg.py file, adding this line:
MTA = None
But this isn't in my latest installation, and I don't remember what it's for, so I'll leave this to Barry to clarify. :)
That's it! With any luck, you're fully functional. --
This has been done as well. I do longer get an e-mail saying "now put these in your alias file".
All this looks okay? Well, when I send ANY mail to ANY address at mailrings.com. I get this:
Message from yahoo.com. Unable to deliver message to the following address(es).
<[EMAIL PROTECTED]>: 66.228.133.130 does not like recipient. Remote host said: 554 5.3.5 buildaddr: unknown mailer mailman Giving up on 66.228.133.130.
--- Original message follows.
Then I get all the rest of the return information.
My /var/log/maillog barks with only the same type of message:
Dec 9 21:14:30 mybox sm-msp-queue[15359]: starting daemon (8.12.6): [EMAIL PROTECTED]:30:00
Dec 9 21:15:00 mybox sendmail[15368]: hBA5F0QL015368: from=mailman, size=933, class=0, nrcpts=1, msgid=<200312100515.hBA5
[EMAIL PROTECTED]>, [EMAIL PROTECTED]
Dec 9 21:15:00 mybox sm-mta[15369]: hBA5F0Wu015369: from=<[EMAIL PROTECTED]>, size=1221, class=0, nrcpts=1, ms
gid=<[EMAIL PROTECTED]>, proto=ESMTP, daemon=MTA, relay=localhost.cacklehoof.com [127.0.0.1
]
Dec 9 21:15:00 mybox sendmail[15368]: hBA5F0QL015368: to=mailman, ctladdr=mailman (91/26), delay=00:00:00, xdelay=00:00:0
0, mailer=relay, pri=30289, relay=localhost.cacklehoof.com. [127.0.0.1], dsn=2.0.0, stat=Sent (hBA5F0Wu015369 Message acce
pted for delivery)
Dec 9 21:15:00 mybox sm-mta[15370]: hBA5F0Wu015369: to=<[EMAIL PROTECTED]>, ctladdr=<[EMAIL PROTECTED]
com> (91/26), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31516, relay=local, dsn=2.0.0, stat=Sent
Dec 9 21:15:04 mybox sm-mta[15372]: hBA5F4Wu015372: SYSERR(root): buildaddr: unknown mailer mailman
I really appreciate all your help, and a HUGE thanks to those who have already sent me some ideas. I still can't seem to figure out what is going on. It's almost as if sendmail is refusing to see mailman as a mailer.
Thanks again, and I look forward to the next set of suggestions. :)
David Pruitt
------------------------------------------------------ Mailman-Users mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
This message was sent to: [EMAIL PROTECTED] Unsubscribe or change your options at http://mail.python.org/mailman/options/mailman-users/archive%40jab.org
