sendmail help needed

Dear Lazyweb, please be my sendmail bitch.

I have an OpenBSD 3.5 machine ("membrane") running sendmail 8.12.11. I want all mail originating on that machine to be delivered to my mail host ("nucleus"), instead of being delivered locally. I can't figure out any way to make this happen; no matter what I try, mail to root still gets delivered into the local /var/mail/ without ever making an attempt to contact the mail host.

<LJ-CUT text=" --More--(11%) ">

Setting SMART_HOST has worked on every Linux machine I've used in the last decade, so I don't see why it won't work here.

(This machine sends almost no mail -- just the occasional cron job -- so I don't want to hear any crap about how great something-other-than-sendmail is. Don't make me ban you.)

So, in /etc/mail/aliases, I have:

    root: jwz

/etc/rc.conf says:

    sendmail_flags="-L sm-mta -C/etc/mail/ -bd -q30m"

In /usr/share/sendmail/cf/ I have:


which means that /usr/share/sendmail/cf/, /etc/mail/, and /etc/mail/ all say:

I also tried adding "DHnucleus" to the .cf files. No luck.

There is nothing in /etc/mail/local-host-names.

(Yes, I have newaliased, HUPped, and even rebooted.)

Oddly, doing "Mail" produces a bounce from localhost that says

    MX list for points back to

which is just not true!

    % dig mx | grep MX
    ;        IN  MX   3600  IN  MX  5

(Note, that's "internal" DNS, you will see different results if you run that from where you are sitting right now.)

When I do this:

    % date | Mail -vs test jwz

    jwz... Connecting to [] via relay...
    220 ESMTP Sendmail 8.12.11/8.12.11;
       Sat, 22 Jan 2005 01:01:59 -0800 (PST)
    >>> EHLO Hello smmsp@localhost [],
       pleased to meet you
    250 HELP
    >>> MAIL From:<> SIZE=52
    250 2.1.0 <>... Sender ok
    >>> RCPT To:<>
    >>> DATA
    250 2.1.5 <>... Recipient ok
    354 Enter mail, end with "." on a line by itself
    >>> .
    250 2.0.0 j0M91xEd006943 Message accepted for delivery
    jwz... Sent (j0M91xEd006943 Message accepted for delivery)
    Closing connection to []
    >>> QUIT
    221 2.0.0 closing connection

This gets logged:

    Jan 22 01:01:59 membrane sendmail[6497]: j0M91xPN006497:
     from=jwz, size=52, class=0, nrcpts=1,
    Jan 22 01:01:59 membrane sm-mta[6943]: j0M91xEd006943:
     from=<>, size=384, class=0, nrcpts=1,
     proto=ESMTP, daemon=MTA, relay=smmsp@localhost []
    Jan 22 01:01:59 membrane sendmail[6497]: j0M91xPN006497:
     to=jwz, ctladdr=jwz (500/500), delay=00:00:00,
     xdelay=00:00:00, mailer=relay, pri=30052,
     relay=[] [], dsn=2.0.0,
     stat=Sent (j0M91xEd006943 Message accepted for delivery)
    Jan 22 01:01:59 membrane sm-mta[11426]: j0M91xEd006943:
     ctladdr=<> (500/500),
     delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30635,
     dsn=2.0.0, stat=Sent

And this shows up in /var/mail/jwz on membrane:

    From Sat Jan 22 01:01:59 2005
    Received: from (smmsp@localhost [])
     by (8.12.11/8.12.11)
     with ESMTP id j0M91xEd006943
     for <>;
     Sat, 22 Jan 2005 01:01:59 -0800 (PST)
    Received: (from root@localhost)
     by (8.12.11/8.12.11/Submit)
     id j0M91xPN006497
     for jwz; Sat, 22 Jan 2005 01:01:59 -0800 (PST)
    Date: Sat, 22 Jan 2005 01:01:59 -0800 (PST)
    From: Jamie Zawinski <>
    Message-Id: <>
    Subject: test

    Sat Jan 22 01:01:59 PST 2005

Note complete lack of any mention of nucleus. (I get the same result if I mail to "" instead of just "jwz".)

According to "host", membrane does realize that membrane and nucleus have different IP addresses.

Any ideas?

Update: Fixed! The answer is, put FEATURE(`msp', `') in, and don't screw around with "smart_host" or "nullclient" at all. Thanks a lot to all those who helped.

Tags: , , , , ,