Sendmail default installed? Why it is in port collection because?

Matthew Seaman m.seaman at infracaninophile.co.uk
Thu Sep 30 08:17:31 PDT 2004


On Thu, Sep 30, 2004 at 10:12:19AM -0300, gkullak at fi.uba.ar wrote:
> My question is in the subject.
> If you search in port collection you will see: sendmail and sendmail-sasl.
> sendmail-sasl contains only Makefile, I supouse that it compile the
> sendmail port with SASL paramether and others.

Sendmail is in the ports as well as in the base system for several
reasons.  One is so older versions of FreeBSD can update to a recent
sendmail.  Another is to provide a relatively easy was on installing
sendmail with a customised compilation -- there are quite a lot of
optional features that could be turned on or off, dependencies on
various other software packages etc.

The sendmail-sasl port is what's known as a 'slave' port -- all that
Makefile does is use all of the settings, files, patches etc. from the
master sendmail port, except that it changes a few configuration
settings so that SASL functionality is turned on.  It saves pretty
much duplicating the whole sendmail port with only minor changes.

> But why I must install sendmail port if I see that Sendmail is up and
> running in my FreeBSD but in "#pkg_info -l" list it not appear.

In general, you don't need to install sendmail from ports.  The
sendmail as provided in the base system will work just fine for the
vast majority of sites, from machines that produce only the
daily/weekly/monthly reports, to those that handle the e-mail for
hundreds of users.

If you're using the version of sendmail from the base system, there
won't be any 'pkg_info' indicating that sendmail is installed.  That's
simply because the base system is not installed using packages.
(Compare this to, say NetBSD or Solaris, where the same packaging
system is used to install the core system as well as add-on software).
Packagizing the base system is one of those bikeshed items that will
cause people to throw things at you if you suggest "what a good idea
it would be...": pretty much everyone agrees that it would, but no one
has yet managed to come up with a workable way of switching the base
system to packages that doesn't throw away the advantages of the
current way of doing things.

> How can I remove it totaly? Whats happened if i go to
> #/usr/ports/mail/sendmail or sendmail-sasl and install it?

FreeBSD has a system called mailwrapper(8) imported from NetBSD.  This
allows you to install any of the popular MTAs (sendmail, postfix,
qmail, exim, etc) through the ports, and then mailwrapper ensures that
the default Unix method of sending e-mail programatically, which is to
pipe the message into a program called /usr/sbin/sendmail, will in
fact submit it via which ever MTA you have chosen.  When you use one
of the sendmail ports it will automatically modify the configuration
file (mailer.conf(5)) to use the newly installed MTA.
 
> This problem found first when I configure Sendmail por SMTP auth and
> before when I try to replace Sendmail with Postfix.

You can implement SASL and SMTP Auth using the base system sendmail.
This section of the handbook explains how:

    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/smtp-auth.html

Although that does talk about SASLv1 -- the procedure for setting it
up with SASLv2 is almost identical, except that:

    i) Install the security/cyrus-sasl2 port.

   ii)  Edit the file /usr/local/lib/sasl2/Sendmail.conf to say:

        pwcheck_method: saslauthd

  iii) Edit make.conf to set the following flags:

        SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
        SENDMAIL_LDFLAGS=-L/usr/local/lib
        SENDMAIL_LDADD=-lsasl2

   iv) Rebuild sendmail as described in the referenced article

    v) Add SASL configuration to /etc/mail/`hostname`.mc:

        FEATURE(no_default_msa)dnl ## overridden with DAEMON_OPTIONS below
        [...]

        dnl ## Set SASL options
        TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
        define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
        define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl
        define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')dnl
        [...]

        DAEMON_OPTIONS(`Port=587, Name=MSA, M=E')dnl

   vi) Rebuild and install the modified sendmail configuration by running:

        # make
        # make install

       in the /etc/mail directory.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040930/afbe5078/attachment.bin


More information about the freebsd-questions mailing list