# Sendmail configuration setup on FreeBSD



## Oldrancher (Mar 7, 2016)

I am in the process of setting up `sendmail` as a primary mail host server.
I've used `sendmail` ever since there was a `sendmail`, so am familiar with the setups in the sendmail.org distro and on other system.  However, FreeBSD appears to be different in having Makefile in /etc/mail and some .mc files as well.   The Solaris `sendmail` setup I have been using needs to be mapped over to FreeBSD, which should be a fairly simple process.

I see no documentation in the Handbook for how the .mc files are to be handled for generating a new sendmail.cf.   I could only find the location of the 
/cf/* files from reading the Makefile.  If nothing else, the /cf/README provided in the distribution is a "must read" for an administrator, and should be a bit more visible.  

How is this setup intended to be use?  If I `touch` the distribution freebsd.mc and run `make`, will it recreate the  distribution .cf files?  

The only dumb question is the one you didn't ask.  So I am asking just how the FreeBSD developers intend for this setup to be used?  I see a bunch of `make` targets in the /etc/mail/Makefile not normally included in a `sendmail` distribution, but what they do are obvious and not my question.  

Is there any reason for using `makemap hash` instead of `makemap dbm` on FreeBSD?

Also, when the system is upgraded, are the etc/mail files replaced as part of the upgrade process?


----------



## ondra_knezour (Mar 7, 2016)

Quick and dirty - the `# make all install restart` command in the /etc/mail directory is everything you need to get your config up and running. Also consult the /etc/rc.d/sendmail file, where some "magic" happen if you do not provide certificates for the sendmail. 

The distribution files are copied with hostname in name and all changes should be done in those copies. Originals may be probably overwritten during upgrade, you can check the SVN history.


----------



## wblock@ (Mar 7, 2016)

```
# cd /etc/mail
# make
```
That generates _hostname_.mc the first time.  Edit that, not any of the .cf files.
When ready to install it, do `make all install restart`.

The Makefile is well worth examining.  There are lots of useful targets, like maps.


----------

