[Mailman-Users] Mailman 2.13/Sendmail/the Python "mm-handler" like patch vs. "User unknown"

Gary Goldberg og at digimark.net
Wed Nov 26 20:06:46 CET 2003


[the following is looong but has lots of supporting docs...]

[BACKGROUND]

Hello. I am trying to implement a dedicated Mailman system on a RedHat 9
server. I really want to get this working, but I am having some problems
with "User unknown".

The software revs involved include Mailman 2.13, Sendmail 8.12.8-9.90
(from patched RPM), the mm-handler contrib, MIMEDefang 2.38,
SpamAssassin 2.60, Razor 2.36 and all the required perl modules. Except for
sendmail, everything was compiled from source. Mailman is installed in
/home/mailman, varprefix is /var/mailman, and cgi-gid = "apache", mail-gid =
"mail". (I have suexec running on this apache 2.0.40 (RPM) webserver, but
no SuexecUserGroup line for the mailman virtual site.)

The mailman URL is "http://lists.digimark.net/mailman/listinfo". The mail
domain is lists.digimark.net and this is dedicated to the installation. I am
also setting up "lists.snpp.com" in the same system.

[The PROBLEM]

The problem is that every message to the system is being rejected with a
"User unknown" message. Specifically:

Nov 26 03:27:48 cello sendmail[20336]: hAQ8RlUt020336: <simpsons-l at lists.snpp.com>... User unknown
Nov 26 03:27:48 cello sendmail[20336]: hAQ8RlUt020336: from=<xxxxxx at xxxxxx.com>, size=1609, class=0,
      nrcpts=0, proto=ESMTP, daemon=MTA, relay=mailsrv1.tranzpeer.net [202.180.66.207]

(simpsons-l is one of the lists in lists.snpp.com, but it is doing it for all lists.)

>From tests and logs, it appears that Sendmail is configured OK, Mailman is
installed and running fine, SpamAsssassin, MIMEDefang etc are all working.
I've implemented the mm-handler contrib -- mm-handler is installed in /etc/mail
and is executable, the MM variables in the script are set

    $MMWRAPPER = "/home/mailman/mail/mailman";
    $MMLISTDIR = "/var/mailman/lists";
    $SENDMAIL = "/usr/lib/sendmail -oem -oi";
    $VERSION = '$Id: mm-handler,v 1.2 2002/04/05 19:41:09 bwarsaw Exp $';

Since this wasn't making the right connection between sendmail and mm-handler, I started
installing the Python patch from patch #644810, but got stopped after applying both the
existstatus and mailer patches, because I couldn't find the replacment proto.m4.patch to
apply. I need to stay with this installation, can anyone offer help? Thanks in advance. -Gary

[CONFIGURATION]

/etc/mail/mailertable is

lists.digimark.net      mailman:lists.digimark.net

/etc/mail/access is

lists.digimark.net      RELAY

/etc/mail/local-host-names includes    lists.digimark.net,

mailman's /home/mailman/Mailman/mm_cfg.py has these changes (Defaults.py unchanged):

    DEFAULT_EMAIL_HOST = 'lists.digimark.net'
    DEFAULT_URL_HOST = 'lists.digimark.net'
    VIRTUAL_HOSTS.clear()
    add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
    add_virtualhost('lists.snpp.com', 'lists.snpp.com')
    add_virtualhost('reactor.snpp.com', 'reactor.snpp.com')
    add_virtualhost('lists.rrlc.org', 'lists.rrlc.org')

    # Because we are using the contrib'd mm-handler for Sendmail.
    MTA = None

    # define alternate SMTP port
    SMTPPORT = 3333

and I added this startup command to /etc/init.d/sendmail:

    # Start extra run of sendmail for mailman defer queue on port 3333.
    /usr/sbin/sendmail -bd -ODeliveryMode=defer \
                       -ODaemonPortOptions=Name=MSA,Port=3333,M=E,Addr=127.0.0.1

The machine's sendmail.mc file is as follows:

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`@(#)digimark.mc 8.12.10 (DigiMark) 10/08/2003')dnl
OSTYPE(linux)dnl
DOMAIN(generic)dnl
FEATURE(`limited_masquerade')
FEATURE(`always_add_domain')dnl
FEATURE(`use_cw_file')dnl
FEATURE(`use_ct_file')dnl
FEATURE(`nouucp',`reject')dnl
FEATURE(`redirect')dnl
FEATURE(`relay_entire_domain')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable')dnl
FEATURE(`virtusertable')dnl
FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
FEATURE(`blacklist_recipients')dnl
MASQUERADE_AS(`lists.digimark.net')dnl
INPUT_MAIL_FILTER(`mimedefang',`S=unix:/var/spool/mimedefang/mimedefang.sock,F=T,T=S:360s;R:360s;E:15m')
TRUST_AUTH_MECH(`CRAM-MD5 DIGEST-MD5 PLAIN LOGIN')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA')dnl
DAEMON_OPTIONS(`Post=smtp,Addr=65.37.199.195,Name=MTA')dnl
define(`ALIAS_FILE',`/etc/mail/aliases,/etc/mail/lists')dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`confAUTH_MECHANISMS',`CRAM-MD5 DIGEST-MD5 PLAIN LOGIN')dnl
define(`confCOPY_ERRORS_TO',`postmaster')dnl
define(`confDELIVERY_MODE',`background')dnl
define(`confDONT_PROBE_INTERFACES',`True')dnl
define(`confEBINDIR',`/etc/smrsh')dnl
define(`confMAX_DAEMON_CHILDREN',`50')dnl
define(`confMAX_QUEUE_CHILDREN',`25')dnl
define(`confMIN_FREE_BLOCKS',`1000')dnl
define(`confTO_QUEUEWARN',`1d')dnl
define(`confDEF_USER_ID',``8:12'')dnl
define(`confTRUSTED_USER',`smmsp')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
MAILER(`procmail')dnl
dnl By default, sendmail applies virtusertable mapping, if at all, for
dnl all interfaces for which it accepts mail -- i.e., all domains in
dnl $=w. Mm-handler relies on your having a single domain (hostname)
dnl that serves only lists, with no users. To avoid potential namespace
dnl conflicts, you need not to have this list domain included in $=w.
dnl As a result, virtuser mapping does not apply for the Mailman
dnl list domain. However, you can pre-empt this rule by defining
dnl $={VirtHost}: if there are domains in this class, they will be
dnl mapped before $=w is mapped. VIRTUSER_DOMAIN() defines this class.
VIRTUSER_DOMAIN(`lists.digimark.net lists.snpp.com')dnl
dnl
dnl Our Mailman-specific local mailer.
dnl
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=mail:mail,
                S=EnvFromL, R=EnvToL/HdrToL,
                A=mm-handler $h $u

[END]

-- "We don't see things as they are, we see them as we are." - Anais Nin
Gary Goldberg KA3ZYW <og at digimark.net> V:301/249-6501 F:301/390-1955 AIM:OgGreeb
Digital Marketing/Bowie MD/Systems & Networks Consult <http://www.digimark.net/>




More information about the Mailman-Users mailing list