Sendmail mit SMTP-Auth unter Solaris und OpenSolaris

Nach etwas längerer Suche nach einer Möglichkeit, von einer Solaris-Maschine aus Mails mit dem mitgelieferten Sendmail per SMTP mit Authentisierung am Mailserver abzuliefern kam ich immer wieder an die Stelle, an der das M4-Script für die Authentisierung am Smarthost fehlt.

Eine Lösung für das Problem ist es, den „Sun-Sendmail“ durch die Version von Blastwave (http://blastwave.org/) zu ersetzen. Man installiert dazu zunächst das Päckchen aus Blastwave (nachdem ggfs. das Blastwave-Repository konfiguriert wurde) und deaktiviert dann den Sendmail von Sun:

svcadm disable sendmail
pkgutil -i sendmail
cd /opt/csw/share/mail
./Sun-sendmail-deactivate.sh

Die Konfiguration erfolgt dann im Verzeichnis /opt/csw/share/mail/cf:

cd /opt/csw/share/mail/cf
vi main.mc

Folgendes in die Datei main.mc einfügen:

define(`SMART_HOST', `mail.host.tld')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash -o -T<TMPF> /opt/csw/etc/mail/authinfo')dnl

Dann die Konfiguration erzeugen und aktivieren:

make
cp -p main.cf /opt/csw/etc/mail/sendmail.cf
svcadm enable cswsendmail

Jetzt noch Auth-Informationen eintragen und anschließend den Sendmail neu starten:

cd /opt/csw/etc/mail
echo 'AuthInfo:mail.host.tld "U:root" "I:login@host.tld" "P:xxxxxxxx"' > authinfo
makemap hash authinfo < authinfo
svcadm restart cswsendmail

Sendmail sollte jetzt soweit erstmal funktionieren. Allerdings ist es ratsam, sich die Datei /opt/csw/etc/mail/aliases nochmal genauer anzuschauen. Nach dem Editieren wird sie mit folgendem Befehl aktiviert:

newaliases

Das war’s. Mehr sollte eigentlich nicht zu tun sein.