sendmail replacement

jhell jhell at
Wed Jan 13 13:34:09 UTC 2010

On Wed, 13 Jan 2010 07:44, serguey-grigoriev@ wrote:
> 13.01.10, 11:32, "Matthew Seaman" <m.seaman at>:
>> S.N.Grigoriev wrote:
>> > I would like to know if there is a way to completely
>> > replace the base sendmail with a ports one. The goal
>> > is to have corresponding files on the traditional places
>> > (not in /usr/local) and to use the system sendmail
>> > startup script but not /usr/local/etc/rc.d/
>>  That's not the usual approach with sendmail, unlike several other software packages.
>>  Because of the existence of mailer.conf(5) you can achieve equivalent
>>  functionality without overwriting the base system sendmail. With the
>>  following contents:
>>  % cat /etc/mail/mailer.conf
>>  # $FreeBSD: src/etc/mail/mailer.conf,v 2009/08/03 08:13:06 kensmith Exp $
>>  #
>>  # Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail
>>  #
>>  sendmail        /usr/local/sbin/sendmail
>>  send-mail       /usr/local/sbin/sendmail
>>  mailq           /usr/local/sbin/sendmail
>>  newaliases      /usr/local/sbin/sendmail
>>  hoststat        /usr/local/sbin/sendmail
>>  purgestat       /usr/local/sbin/sendmail
>>  all sendmail related commands are mapped onto the ports version of sendmail,
>>  installed under LOCALBASE=/usr/local as usual.  These commands are in fact
>>  exactly the same wrapper scripts as used with the system sendmail. With this
>>  setup it is not necessary to use the init script provided by the sendmail port:
>>  simply adding
>>  sendmail_enable="YES"
>>  to /etc/rc.conf will now cause the ports version of sendmail to be started
>>  using /etc/rc.d/sendmail.  In addition, the following entries in /etc/make.conf
>>  will allow rebuild sendmail configurations and db maps using the Makefile in
>>  /etc/mail:
>>  SENDMAIL_CF_DIR=        /usr/local/share/sendmail/cf
>>  MAKEMAP=                /usr/local/sbin/makemap
>>  Finally, adding
>>  to /etc/src.conf will suppress building sendmail as part of the base system,
>>  while still building and installing the mailwrapper commands.
>>  	Cheers,
>>  	Matthew
> Matthew,
> I thank you for your response. All you wrote is quite right.
> But it is a general rule not to use in the system two sets
> of slightly different programs with duplicating names. It is
> a direct way to have problems.
> For example, all third party scripts should be revised to check
> absolute pathes, program search results becomes depending
> of the PATH value, and so on.

If all third party scripts and they are using absolute path names then they 
should not need to be revised at all. This is effectively what 
mailer.conf does. /usr/sbin/sendmail continues to use mailer.conf which 
wraps what you have set in there. So no matter whether they call 
/usr/sbin/sendmail or /usr/local/sbin/sendmail they will still be getting 
the same results after your install of the ports sendmail.

So really what is the exact problem ? I can understand from a security 
standpoint why you would want to have less software on your systems but to 
blame it on third party scripts is irrelevant.

> It is relatively easy to do such revisions on a small home system.
> But a production server with significant amount of third party software
> will require a lot of time to do that job.
> To my mind it will be better to have an options in the port Makefile
> allowing to replace the sendmail files in place.


  Wed Jan 13 08:27:21 2010

  It may not be able to take your machine down, but it can fill up your
  Internet Pipe.


More information about the freebsd-stable mailing list