%general-entities; ]> $LastChangedBy$ $Date$ sendmail-&sendmail-version; sendmail Introduction to sendmail The sendmail package contains a Mail Transport Agent (MTA). &lfs84_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &sendmail-md5sum; Download size: &sendmail-size; Estimated disk space required: &sendmail-buildsize; Estimated build time: &sendmail-time; Additional Downloads Required patch: sendmail Dependencies Required (client) Recommended Optional (for creating PDF documentation), (the configuration proposed below requires that procmail be present at run-time), and nph User Notes: Installation of sendmail Before building sendmail, create the required user, group and directory with the following commands issued as the root user: groupadd -g 26 smmsp && useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \ -s /bin/false -u 26 smmsp && chmod -v 1777 /var/mail && install -v -m700 -d /var/spool/mqueue See the source tree sendmail/README file for information on linking optional packages into the build. Use the example below, which adds support for SASL, StartTLS (OpenSSL) and OpenLDAP, as a starting point. Of course, modify it to suit your particular needs. cat >> devtools/Site/site.config.m4 << "EOF" APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP') APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb') APPENDDEF(`confINCDIRS', `-I/usr/include/sasl') EOF Install sendmail with the following commands: patch -Np1 -i ../sendmail.&sendmail-version;-openssl-1.patch && cat >> devtools/Site/site.config.m4 << "EOF" define(`confMANGRP',`root') define(`confMANOWN',`root') define(`confSBINGRP',`root') define(`confUBINGRP',`root') define(`confUBINOWN',`root') EOF sed -i 's|/usr/man/man|/usr/share/man/man|' \ devtools/OS/Linux && cd sendmail && sh Build && cd ../cf/cf && cp generic-linux.mc sendmail.mc && sh Build sendmail.cf This package does not come with a test suite. Now, as the root user: install -v -d -m755 /etc/mail && sh Build install-cf && cd ../.. && sh Build install && install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail && cp -v -R cf/* /etc/mail && install -v -m755 -d /usr/share/doc/sendmail-&sendmail-version;/{cf,sendmail} && install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ /usr/share/doc/sendmail-&sendmail-version; && install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \ /usr/share/doc/sendmail-&sendmail-version;/sendmail && install -v -m644 cf/README /usr/share/doc/sendmail-&sendmail-version;/cf && for manpage in sendmail editmap mailstats makemap praliases smrsh do install -v -m644 $manpage/$manpage.8 /usr/share/man/man8 done && install -v -m644 sendmail/aliases.5 /usr/share/man/man5 && install -v -m644 sendmail/mailq.1 /usr/share/man/man1 && install -v -m644 sendmail/newaliases.1 /usr/share/man/man1 && install -v -m644 vacation/vacation.1 /usr/share/man/man1 Install the sendmail Installation and Operations Guide with the following commands: Remove op.pdf from the make and install commands below if you don't have Ghostscript installed. cd doc/op && sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile && make op.txt op.pdf Now, as the root user: install -v -d -m755 /usr/share/doc/sendmail-&sendmail-version; && install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-&sendmail-version; && cd ../.. Command Explanations cat > devtools/Site/site.config.m4 << "EOF": This creates a configuration file changing some of the default settings. sed ... devtools/OS/Linux: The site.config.m4 does not honor a change to the man directory, so fix it in the OS definitions. sed ... include/sm/bdb.h: This allows sendmail to build properly with versions 5 and above. sh Build; sh Build sendmail.cf; sh Build install-cf; sh Build install: sendmail uses an m4 based build script to create the various Makefiles. These commands build and install the package. for manpage in...;do...;done; install ...: The man pages are installed already formatted and man displays them somewhat garbled. These commands replace the formatted pages with pages man can display properly. Configuring sendmail Config Files /etc/mail/* /etc/mail/* Configuration Information Ensure you have a fully qualified domain name defined in /etc/hosts for your system before proceeding. Create the /etc/mail/local-host-names and /etc/mail/aliases files using the following commands as the root user: echo $(hostname) > /etc/mail/local-host-names cat > /etc/mail/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF newaliases sendmail's primary configuration file, /etc/mail/sendmail.cf, is complex and not meant to be directly edited. The recommended method for changing it is to modify /etc/mail/sendmail.mc and various m4 files, then run the m4 macro processor from within /etc/mail as follows: cd /etc/mail && m4 m4/cf.m4 sendmail.mc > sendmail.cf A full explanation of the files to modify, and the available parameters can be found in /etc/mail/README. <phrase revision="sysv">Boot Script</phrase> <phrase revision="systemd">Systemd Unit</phrase> To automate the running of sendmail at startup, install the /etc/rc.d/init.d/sendmail init script sendmail.service unit included in the package. sendmail make install-sendmail The -qNm option to sendmail, where N is number of minutes, controls how often sendmail will process the mail queue. A default of 5 minutes is used in the init script. systemd unit. Individual workstation users may want to set this as low as 1 minute, large installations handling more mail may want to set it higher. Contents Installed Programs Installed Libraries Installed Directories editmap, mailstats, makemap, praliases, sendmail, smrsh, and vacation; symlinks to /usr/sbin/sendmail: hoststat, mailq, newaliases, and purgestat None /etc/mail, /usr/share/doc/sendmail-&sendmail-version;, /var/spool/mqueue, and /var/spool/clientmqueue Short Descriptions editmap queries and edits sendmail map files. editmap hoststat prints sendmail's persistent host status. hoststat mailstats displays sendmail statistics. mailstats mailq prints a summary of outbound mail messages waiting for delivery. mailq makemap creates sendmail map files. makemap newaliases rebuilds /etc/mail/aliases.db from the contents of /etc/mail/aliases. newaliases praliases displays current sendmail aliases. praliases purgestat causes sendmail to clear (purge) all its host-status information. purgestat sendmail is the sendmail mail transport agent. sendmail smrsh is a restricted shell for sendmail. smrsh vacation is an email auto responder. vacation