smart_host on sendmail min config

Giorgos Keramidas keramida at ceid.upatras.gr
Tue Dec 11 15:50:29 PST 2007


On 2007-12-11 13:53, "Aryeh M. Friedman" <aryeh.friedman at gmail.com> wrote:
>Giorgos Keramidas wrote:
>> You still haven't shown us:
>>
>> * How your local rc system starts Sendmail
> 
> Until I can get it right from the command line I am not going to
> include it in my /etc/rc thus currently there is none
>
>> * The active Sendmail processes you have now
> 
> Except for the one I start (with the below command line) before
> sending there is none running.

Then you need to replicate what `/etc/rc.d/sendmail' does.  You have the
code to that script, you also have `/etc/defaults/rc.conf' as a guide of
the defaults supported by FreeBSD.  Happy hacking :)

I'm not interested in rewriting `/etc/rc.d/sendmail' from scratch, so
other than a few pointers like the following, I'm out of the thread:

> here is the complete transcript of my last attempt to actually send
> something: [...]

> monster-freebsd# sendmail -bd -q1m

Here you started a sendmail process which listens for connections to
*all* interfaces.  That's probably ok if you plan to accept incoming
SMTP connections on _any_ interface, i.e. because you are running a
Sendmail server accessible from outside.

On my laptop this would be replaced by:

	/usr/sbin/sendmail -L smtpd -bd -q30m \
	    -ODaemonPortOptions=Addr=localhost

Note the use of the -O flag to make sure Sendmail is only listening on
the localhost:25 port for mail submission requests.

Then you have to start a *second* Sendmail instance, to flush the local
`clientmqueue' and forward the messages you see as `Deferred' when you
run the `mailq -Ac' command:

> monster-freebsd# mailq -Ac
>                 /var/spool/clientmqueue (8 requests)
> - -----Q-ID----- --Size-- -----Q-Time-----
> - ------------Sender/Recipient-----------
> lBAEQDUM077228        9 Mon Dec 10 09:26 aryeh
>                  (Deferred: Connection refused by [127.0.0.1])
>                                          aryeh at gmail.com

Now you have to run a second Sendmail instance, i.e. with:

	/usr/sbin/sendmail -L mailq -Ac -q10m

NOTE: The `smtpd' and `mailq' arguments to the -L options are not the
standard names FreeBSD assigns to these processes.  They are just the
ones I use on my laptop.

Since you are using a custom, local sendmail startup script, that's
about the best I can write to get you kickstarted.  For more help with
the way Sendmail operates, you can always refer to the ``Sendmail(TM)
Installation and Operation Guide''.  A copy of the guide is conveniently
installed by the FreeBSD installation process at:

	/usr/share/doc/smm/08.sendmailop/*

Good luck with the startup scripts.  I don't really understand why you
insist on rewriting something which works(TM), is featureful and easy to
extend, like the rc.d scripts, but that's besides the point :-)

- Giorgos



More information about the freebsd-questions mailing list