<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Sendmail_TLS_SASL_SMTP-AUTH</id>
	<title>Sendmail TLS SASL SMTP-AUTH - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Sendmail_TLS_SASL_SMTP-AUTH"/>
	<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Sendmail_TLS_SASL_SMTP-AUTH&amp;action=history"/>
	<updated>2026-04-08T16:09:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=Sendmail_TLS_SASL_SMTP-AUTH&amp;diff=180&amp;oldid=prev</id>
		<title>Erik: Copy from old</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Sendmail_TLS_SASL_SMTP-AUTH&amp;diff=180&amp;oldid=prev"/>
		<updated>2009-06-06T23:22:18Z</updated>

		<summary type="html">&lt;p&gt;Copy from old&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Tutorials]] &lt;br /&gt;
&lt;br /&gt;
= Sendmail TLS SMTP-AUTH - A Quick and Dirty howto =&lt;br /&gt;
&lt;br /&gt;
Reliable, flexible, and configurable enough to solve any mail routing needs, '''sendmail''' has withstood the test of time, but has become no less daunting in its complexity. Even the most experienced system administrators have found it challenging to configure and difficult to understand. We cut through the chase and describe how to setup sendmail with industry standard encryption and discourage spam in less than an hour. Although described as a Slackware specific howto, the actual setup is similar for all UNIX's.&lt;br /&gt;
&lt;br /&gt;
This HOWTO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Copyright (C) 2006 Strykar: s_at_hackerzlair_dot_org  &lt;br /&gt;
&lt;br /&gt;
* NOTE: I hate wiki markup and the latest and much more readable version of this howto can always be found at [http://www.hungryhacker.com/articles/misc/sendmail_howto.html]&lt;br /&gt;
&lt;br /&gt;
== Sendmail server configuration achieved by this howto: ==&lt;br /&gt;
&lt;br /&gt;
* SMTP-AUTH based relay for authorized users only.&lt;br /&gt;
* Encrypted SMTP-AUTH client/server transaction preventing sniffing of username and passwords.&lt;br /&gt;
* Configure and use Cyrus SASL to verify user credentials against the UNIX shadow file.&lt;br /&gt;
* Create and use your own SSL certificates. Get them signed at no charge by cacert.org and use their CRL.&lt;br /&gt;
* Disable using the old SSLv2 protocol and support SSLv3 and TLSv1.&lt;br /&gt;
* Enable/Disable use and verification of client certificates for user identification.&lt;br /&gt;
* Throttle the number of connections sendmail will accept and limit the number of child processes it spawns.&lt;br /&gt;
* Use features like delay checks to make full use of the versatile access_db.&lt;br /&gt;
* Enable blacklisting recipients and use DNSBL for real-time blackisting of known spam hosts.&lt;br /&gt;
* Use regular expressions and the MAP_REGEX feature to ease complicated header processing and re-writing. -- '''TBD'''&lt;br /&gt;
* The ability to add any missing/desired sendmail feature to itself by mailing the author a postcard with pictures of mountains in your area.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites: ==&lt;br /&gt;
&lt;br /&gt;
* Untouched Slackware 12 or updated to Slackware-current install Sendmailwise.&lt;br /&gt;
* Latest version of sendmail - v 8.14.1 at the time of writing. You can check your version by &amp;lt;code&amp;gt;sendmail -d0.1 -bt &amp;lt; /dev/null&amp;lt;/code&amp;gt; &lt;br /&gt;
* Just &amp;lt;code&amp;gt;wget &amp;amp;&amp;amp; upgradepkg&amp;lt;/code&amp;gt; the latest version from your favorite Slackware mirror.&lt;br /&gt;
* Make sure the output of the command above at least includes: &amp;lt;blockquote&amp;gt;Compiled with: &amp;lt;code&amp;gt;DNSMAP LOG MAP_REGEX SASLv2 STARTTLS USERDB&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Ensure you have the latest version of Cyrus-SASL - v 2.1.22 at the time of writing. See that our required password mechanisms are allowed by doing:&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# saslauthd -v saslauthd 2.1.22 authentication mechanisms: getpwent rimap shadow&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;shadow is what we will use.&lt;br /&gt;
&lt;br /&gt;
* A real hostname that is available when you: &amp;lt;code&amp;gt;host myhost.org&amp;lt;/code&amp;gt;&lt;br /&gt;
* Reset any configurations you may have played with for Cyrus-SASL and sendmail. Keep your pack of smokes and mug of coffee handy. Figure out why your system won't play nice if it doesn't meet any of the above prerequisites.&lt;br /&gt;
* Call that friend who told you to move to Postfix and ask him to call you back in an hour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Diving right in: ===&lt;br /&gt;
&lt;br /&gt;
''For the purpose of this HOWTO, we will assume the FQDN of the host is &amp;lt;code&amp;gt;john.doe.org.&amp;lt;/code&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
First, start by creating your private key and Certificate Signing Request (CSR) as shown in the much easier than before steps below. The only field in you need to fill is the Common Name (CN). Put your mailserver hostname there when prompted, like &amp;lt;code&amp;gt;mail.doe.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;root@john:~# openssl genrsa 1024 &amp;gt; smtp.key.pem &amp;lt;br /&amp;gt;root@john:~# openssl req -new -key smtp.key.pem &amp;gt; newreq.csr&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the CSR signed by CAcert.org. That will give you the server certificate, paste it into a file named &amp;lt;code&amp;gt;smtp.cert.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.''' Make sure you have the user &amp;lt;code&amp;gt;smmsp&amp;lt;/code&amp;gt;, sendmail will not start up unless it has it's own userid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john::~# cat /etc/passwd | grep smmsp smmsp:x:25:25:smmsp:/var/spool/clientmqueue:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;If not, create one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# groupadd -g 25 smmsp &amp;lt;br /&amp;gt;root@john:~# useradd -u 25 -g 25 -c smmsp -d /var/spool/clientmqueue -s /usr/bin/true smmsp &amp;lt;br /&amp;gt;root@john:~# mkdir -p /var/spool/clientmqueue /var/spool/mqueue &amp;lt;br /&amp;gt;root@john:~# chmod 770 /var/spool/clientmqueue &amp;lt;br /&amp;gt;root@john:~# chown smmsp /var/spool/clientmqueue &amp;lt;br /&amp;gt;root@john:~# chgrp smmsp /var/spool/clientmqueue &amp;lt;br /&amp;gt;root@john:~# chmod 700 /var/spool/mqueue &amp;lt;br /&amp;gt;root@john:~# chown root /var/spool/mqueue &amp;lt;br /&amp;gt;root@john:~# chgrp daemon /var/spool/mqueue &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2.''' Now edit &amp;lt;code&amp;gt;/etc/mail/access&amp;lt;/code&amp;gt; and make sure your hostname is in there:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# cat /etc/mail/access &amp;lt;br/&amp;gt;john.doe.org RELAY &amp;lt;br/&amp;gt;doe.org RELAY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.''' Now edit &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; and make sure 127.0.0.1 points to localhost:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# cat /etc/hosts &amp;lt;br/&amp;gt;127.0.0.1 localhost localhost.localdomain &amp;lt;br/&amp;gt;1.2.3.4 john.doe.org john&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace 1.2.3.4 with the actual public IP address of your mailserver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4.''' Now edit &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt; and make sure the DNS settings your ISP provided you are in there:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# cat /etc/resolv.conf search doe.org nameserver 1.2.3.4&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace 1.2.3.4 with the IP address of your ISP's DNS box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.''' Create a directory where sendmail will read your certificates for TLS from:&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# mkdir /etc/mail/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download the CAcert root certificate and their CRL from http://www.cacert.org/index.php?id=3 and name them &amp;lt;code&amp;gt;CA.cert.pem&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;revoke.crl&amp;lt;/code&amp;gt;&lt;br /&gt;
Copy all three (including the private key file) into &amp;lt;code&amp;gt;/etc/mail/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These need strict permissions as they shouldn't be world-readable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# chmod -R 700 /etc/mail/certs root@john:~# chown -R root:sys /etc/mail/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6.''' Whip up your favorite editor (mine's &amp;lt;code&amp;gt;joe&amp;lt;/code&amp;gt;) and edit &amp;lt;code&amp;gt;/usr/share/sendmail/cf/cf/sendmail-slackware-tls-sasl.mc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure it includes all the options below. CAREFULLY READ the notes after the end of the configuration, denoted by &amp;lt;code&amp;gt;dnl# EOF&amp;lt;/code&amp;gt; to understand the additions I have made to the default &amp;lt;code&amp;gt;sendmail-slackware-tls-sasl.mc&amp;lt;/code&amp;gt; file. Ensure you know what you're doing if you modify anything.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@john:~# cat /usr/share/sendmail/cf/cf/sendmail-slackware-tls-sasl.mc&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; dnl# This is the a sendmail .mc file for Slackware with TLS support.&amp;lt;br /&amp;gt; dnl# To generate the sendmail.cf file from this (perhaps after making&amp;lt;br /&amp;gt; dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:&amp;lt;br /&amp;gt; dnl#&amp;lt;br /&amp;gt; dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc&amp;lt;br /&amp;gt; dnl# cd /usr/share/sendmail/cf&amp;lt;br /&amp;gt; dnl# sh Build config.cf&amp;lt;br /&amp;gt; dnl#&amp;lt;br /&amp;gt; dnl# You may then install the resulting .cf file:&amp;lt;br /&amp;gt; dnl# cp config.cf /etc/mail/sendmail.cf&amp;lt;br /&amp;gt; dnl#&amp;lt;br /&amp;gt; include(`../m4/cf.m4')&amp;lt;br /&amp;gt; VERSIONID(`TLS supporting setup for Slackware Linux')dnl&amp;lt;br /&amp;gt; OSTYPE(`linux')dnl&amp;lt;br /&amp;gt; dnl#&amp;lt;br /&amp;gt; dnl# You will need to create the certificates below with OpenSSL first:&amp;lt;br /&amp;gt; define(`confCACERT_PATH', `/etc/mail/certs/')&amp;lt;br /&amp;gt; define(`confCACERT', `/etc/mail/certs/CA.cert.pem')&amp;lt;br /&amp;gt; define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')&amp;lt;br /&amp;gt; define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')&amp;lt;br /&amp;gt; define(`confCRL', `/etc/mail/certs/revoke.crl')&amp;lt;br /&amp;gt; dnl# These settings help protect against people verifying email addresses&amp;lt;br /&amp;gt; dnl# at your site in order to send you email that you probably don't want:&amp;lt;br /&amp;gt; define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl&amp;lt;br /&amp;gt; dnl# Uncomment the line below to send outgoing mail through an external server:&amp;lt;br /&amp;gt; dnl define(`SMART_HOST',`mailserver.example.com')&amp;lt;br /&amp;gt; dnl# No timeout for ident:&amp;lt;br /&amp;gt; define(`confTO_IDENT', `0')dnl&amp;lt;br /&amp;gt; dnl# Enable the line below to use smrsh to restrict what sendmail can run:&amp;lt;br /&amp;gt; dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl&amp;lt;br /&amp;gt; dnl# LOCAL_CONFIG dnl &amp;lt;br/&amp;gt;dnl#CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULLdnl#dnl&amp;lt;br /&amp;gt; See the README in /usr/share/sendmail/cf for a ton of information on&amp;lt;br /&amp;gt; dnl# how these options work:&amp;lt;br /&amp;gt; FEATURE(`delay_checks')dnl&amp;lt;br /&amp;gt; FEATURE(`use_cw_file')dnl&amp;lt;br /&amp;gt; FEATURE(`use_ct_file')dnl&amp;lt;br /&amp;gt; FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl&amp;lt;br /&amp;gt; FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl&amp;lt;br /&amp;gt; FEATURE(`access_db', `hash -T&amp;lt;TMPF&amp;gt; /etc/mail/access')dnl&amp;lt;br /&amp;gt; FEATURE(`blacklist_recipients')dnl&amp;lt;br /&amp;gt; dnl #FEATURE(`enhdnsbl', `relays.ordb.org', `', `t', `127.0.0.2')&amp;lt;br /&amp;gt; FEATURE(`dnsbl',`dnsbl.sorbs.net',`&amp;quot;554 Rejected spam as&amp;quot; $&amp;amp;{client_addr} &amp;quot; found in dnsbl.sorbs.net&amp;quot;')dnl&amp;lt;br /&amp;gt; FEATURE(`enhdnsbl', `zen.spamhaus.org', `&amp;quot;Spam blocked see: http://www.abuse.net/sbl.phtml?IP=&amp;quot;$&amp;amp;{client_addr}', `t')dnl&amp;lt;br /&amp;gt; FEATURE(`enhdnsbl', `bl.spamcop.net', `&amp;quot;Spam blocked see: http://spamcop.net/bl.shtml?&amp;quot;$&amp;amp;{client_addr}', `t')dnl&amp;lt;br /&amp;gt; FEATURE(`enhdnsbl', `list.dsbl.org', `&amp;quot;Spam blocked see: http://dsbl.org&amp;quot;$&amp;amp;{client_addr}', `t')dnl&amp;lt;br /&amp;gt; FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl&amp;lt;br /&amp;gt; FEATURE(`always_add_domain')dnl&amp;lt;br /&amp;gt; FEATURE(`redirect')dnl&amp;lt;br /&amp;gt; FEATURE(`no_default_msa')dnl&amp;lt;br /&amp;gt; dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:&amp;lt;br /&amp;gt; dnl FEATURE(`accept_unresolvable_domains')dnl&amp;lt;br /&amp;gt; EXPOSED_USER(`root')dnl&amp;lt;br /&amp;gt; dnl# Also accept mail for localhost.localdomain:&amp;lt;br /&amp;gt; LOCAL_DOMAIN(`localhost.localdomain')dnl&amp;lt;br /&amp;gt; MAILER(local)dnl&amp;lt;br /&amp;gt; MAILER(smtp)dnl&amp;lt;br /&amp;gt; MAILER(procmail)dnl&amp;lt;br /&amp;gt; dnl# Allow SASL authentication/relaying:&amp;lt;br /&amp;gt; define(`confAUTH_OPTIONS', `A p y')dnl&amp;lt;br /&amp;gt; define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl&amp;lt;br /&amp;gt; TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl&amp;lt;br /&amp;gt; DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl&amp;lt;br /&amp;gt; DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=E')dnl&amp;lt;br /&amp;gt;dnl# EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notice the filenames in &amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;define(`confCACERT', `/etc/mail/certs/CA.cert.pem') &amp;lt;br/&amp;gt;define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem') &amp;lt;br/&amp;gt;define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')&amp;lt;/code&amp;gt; -- make sure your certificates are named exactly the same as in your mc configuration.&lt;br /&gt;
&lt;br /&gt;
I use free certificates signed by [http://www.cacert.org www.cacert.org] and use their CRL - &amp;lt;code&amp;gt;define(`confCRL', `/etc/mail/certs/revoke.crl')&amp;lt;/code&amp;gt; above.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;define(`confAUTH_OPTIONS', `A p y')dnl&amp;lt;/code&amp;gt; configures sendmail to:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is a workaround for broken MTAs that do not implement RFC 2554.&lt;br /&gt;
* The &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; option tells sendmail: &amp;quot;don't permit mechanisms susceptible to simple passive attack (e.g., &amp;lt;code&amp;gt;LOGIN, PLAIN&amp;lt;/code&amp;gt;), unless a security layer (think TLS tunnel) is active.&amp;quot;&lt;br /&gt;
* The &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; option prohibits anonymous logins.&lt;br /&gt;
&lt;br /&gt;
Take note that this will only allow &amp;lt;code&amp;gt;LOGIN/PLAIN SMTP-AUTH&amp;lt;/code&amp;gt; after encryption has been established in a TLS tunnel. Allowing both TLS and non-TLS &amp;lt;code&amp;gt;PLAIN/LOGIN SMTP-AUTH&amp;lt;/code&amp;gt; is left as an exercise to the reader.&lt;br /&gt;
&lt;br /&gt;
Read: http://www.sendmail.org/~ca/email/doc8.12/op-sh-5.html#sh-5.6 for more information.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;define(`confCONNECTION_RATE_THROTTLE', `100')&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;define(`confMAX_DAEMON_CHILDREN',`1000')&amp;lt;/code&amp;gt; are for my configuration and should be set to 50% higher than what your requirements are. If you don't understand what this does (sendmail forks); comment those two lines out with a &amp;lt;code&amp;gt;dnl#&amp;lt;/code&amp;gt; before them like: &amp;lt;code&amp;gt;dnl# define (`confMAX_DAEMON_CHILDREN',`1000')&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
None of my user's email clients use certificates; this tells sendmail not to ask for them for one: &amp;lt;code&amp;gt;define(`confTLS_SRV_OPTIONS', V')&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''SLACKWARE USERS NOTE''' line 37:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;LOCAL CONFIG CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4 RSA: HIGH: MEDIUM:-LOW: SSLv3: TLSv1:-SSLv2: EXP: eNULL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This disables using the older SSLv2 protocol and allows SSLv3 and TLSv1. You'll need some &amp;lt;code&amp;gt;openssl ciphers&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;-fu to get this going with Slackware 12 as it's not compiled with &amp;lt;code&amp;gt;_FFR_TLS_1. STARTTLS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Read [http://sial.org/howto/sendmail/cipherlist this for info] on setting it up in Slackware, it's trivial. Some older clients don't speak TLS and you may want to skip this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''7.''' Now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# cd /usr/share/sendmail/cf/cf &amp;lt;br/&amp;gt;root@john:~# m4 sendmail-slackware-tls-sasl.mc &amp;gt; /etc/mail/sendmail.cf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also remember that the mc file should always end in a new line. So hit enter at the end of &amp;lt;code&amp;gt;sendmail-slackware-tls-sasl.mc&amp;lt;/code&amp;gt; if m4 crashes with an &amp;lt;code&amp;gt;m4: INTERNAL ERROR: recursive push_string error&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8.''' If the previous command gives no errors, you're done! Simply restart sendmail using &amp;lt;code&amp;gt;/etc/rc.d/rc.sendmail restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now see what sendmail is saying by &amp;lt;code&amp;gt;tail -f /var/log/maillog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can increase log verbosity by adding: &amp;lt;code&amp;gt;-O LogLevel=16&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/etc/rc.d/rc.sendmail&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''9.''' Also: Add hosts for which you receive mail to &amp;lt;code&amp;gt;/etc/mail/local-host-names&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# cat /etc/mail/local-host-names&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;br/&amp;gt;# names of hosts for which we receive email &amp;lt;br/&amp;gt;john.doe.org doe.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''10.''' Make sure SASL is with you:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# cat /usr/lib/sasl2/Sendmail.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;pwcheck_method:saslauthd mech_list:login plain&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@john:~# testsaslauthd -u yourusername -p yourpassword&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0: OK! Success!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Congratulations! SASL is now working.&lt;br /&gt;
&lt;br /&gt;
If not, make sure saslauthd is running by: &amp;lt;code&amp;gt;/etc/rc.d/rc.saslauthd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11.''' Most errors are because of not following this HOWTO to the T.&lt;br /&gt;
&lt;br /&gt;
Go over each step again and confirm you did everything right.&lt;/div&gt;</summary>
		<author><name>Erik</name></author>
	</entry>
</feed>