sendmail 8.13.3 und SMTP AUTH

(Warnung: Ich bin nicht der große Linux-Sysadmin, darum die folgenden Zeilen bitte mit Vorsicht genießen!)

Es hat mich immer gewurmt, dass die sendmail-Konfiguration meines Rootservers (SuSE Linux 9.3) keine Mails nach außen versenden wollte, sondern stattdessen alle Mails stets nur in /var/mail/(benutzername) landeten. Die folgenden Änderungen funktionieren bei mir, und eventuell ist das ein schrecklicher Hack, der zu üblen Nebenwirkungen führen kann, darum alles ohne Gewähr.

Zunächst gilt es, die sendmail-Version herauszufinden, das geht mit dem Kommando:

/usr/sbin/sendmail -v -d0.1 < /dev/null

Anscheinend gibt es verschiedene Lösungen für verschiedene Versionen. Meine sah angeblich so aus, in der sendmail.cf folgende Zeile bei “Smart” relay host hinzuzufügen:

DSserver.de

wobei DS vor den SMTP-Server gesetzt wird, über den man Mails verschicken will. Zusätzlich gehört in die Datei /etc/mail/access noch die folgende Zeile (natürlich mit den eigenen Daten):

AuthInfo:server.de “U:smmsp” “I:login” “P:passwort”

Danach wird die access.db generiert:

makemap hash /etc/mail/access.db < /etc/mail/access

Das erste Problem, das ich dann aber hatte, sah so aus:

stat=Deferred: Connection refused by [127.0.0.1]

Ich habe dann versucht, eine Telnet-Verbindung auf dem Port 25 aufzubauen, wo sendmail lauscht, und hier bekam ich die folgende Fehlermeldung:

Trying 127.0.0.1…
telnet: connect to address 127.0.0.1: Connection refused

Diese Fehlermeldung konnte ich beseitigen, indem ich in der /etc/sendmail.cf die Zeile

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

auskommentiert hatte. Normalerweise pfuscht man nicht in der sendmail.cf selbst herum, sondern in der sendmail.mc, aber die existiert auf meinem System seltsamerweise nicht. Danach wird sendmail neu gestartet:

/etc/init.d/sendmail restart

Und schon klappts mit der Verbindung:

$penthesilea:/home/(benutzername) # telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.

Das war leider nicht das Ende meiner Probleme, so konnte ich in abwechselnder Reihenfolge noch die folgenden Fehlermeldungen kassieren:

stat=Deferred: Temporary AUTH failure

oder

UTH=client, available mechanisms do not fulfill requirements

und schließlich auch noch

stat=User unknown

Besonders letzte Fehlermeldung kann alles mögliche bedeuten, und nur durch eine direkte Verbindung mit dem SMTP-Host kann man sehen, was passiert. Eine solche Verbindung lässt sich zum Beispiel mit einer Text-Datei erstellen, in der es ein TO:-Feld wie auch alles andere gibt, und diese als Mail via sendmail verschickt:

sendmail -Am -v -t < test.mail

Schon sieht man die detaillierte Kommunikation zwischen sendmail und dem Server, und in meinem Fall wurde klar, dass es mit der Autentifizierung nicht klappte. Die Lösung bestand dann darin, dass in die Datei /etc/mail/access noch ein Zusatz gehört, der den Mechanismus spezifiziert:

AuthInfo:server.de “U:smmsp” “I:login” “P:passwort” “M:LOGIN”

Nun klappt es endlich mit dem Mail versenden, folgende Probleme muss ich aber noch lösen:

  • Mit den Anhängen klappts noch nicht wirklich, so erhalte ich die Datenbankdateien nicht, die mir das WordPress-Plugin WP Database Backup schicken will.
  • Der Absender gefällt mir nicht, ist momentan der Name meines Servers. Kann man irgendwo ändern, nur ich weiß nicht wo.

Eigentlich sollte man solche Dinge ja in Yast2 konfigurieren können, aber mein Yast2 weigert sich, die Backspace-Tasten-Eingaben zu akzeptieren, so dass ich die Inhalte von Feldern nicht löschen kann. Keine Ahnung, ob das mit der entf-Taste auf einer normalen Tastatur funktioniert?

Filed under: AllgemeinTagged with: , ,

No comment yet, add your voice below!


Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Comment *

Name *
Email *
Website