Mail logging

Der Befehl sendmail protokolliert die E-Mail-Systemaktivität über den syslogd-Dämon.

Der syslogd-Dämon muss konfiguriert und ausgeführt werden, damit die Protokollierung erfolgt. Insbesondere sollte die Datei /etc/syslog.conf die folgende nicht kommentierte Zeile enthalten:

mail.debug           /var/spool/mqueue/log

Wenn dies nicht der Fall ist, verwenden Sie Ihren bevorzugten Editor, um diese Änderung vorzunehmen. Stellen Sie dabei sicher, dass der Pfadname korrekt ist. Wenn Sie die Datei /etc/syslog.conf ändern, während der syslogd-Dämon aktiv ist, aktualisieren Sie den syslogd-Dämon, indem Sie den folgenden Befehl in die Befehlszeile eingeben:

refresh -s syslogd

Wenn die Datei /var/spool/mqueue/log nicht vorhanden ist, müssen Sie sie erstellen, indem Sie den folgenden Befehl eingeben:

touch /var/spool/mqueue/log

Die Nachrichten in der Protokolldatei werden im folgenden Format angezeigt:

Jede Zeile im Systemprotokoll besteht aus einer Zeitmarke, dem Namen der Maschine, die sie generiert hat (für die Protokollierung von mehreren Maschinen über das lokale Netz), das Wort sendmail: und eine Nachricht. Die meisten Nachrichten bestehen aus einer Folge von name=value-Paaren.

Die beiden häufigsten Zeilen, die protokolliert werden, wenn eine Nachricht verarbeitet wird, sind die Zeilen receipt und delivery attempt. Die Zeile receipt protokolliert den Empfang einer Nachricht; es wird eine pro Nachricht angezeigt. Einige Felder können weggelassen werden. Diese Nachrichtenfelder sind:

Element Beschreibung
from Gibt die Absenderadresse an.
size Gibt die Größe der Nachricht in Byte an.
class Gibt die Klasse (numerische Vorrangstellung) der Nachricht an.
pri Gibt die ursprüngliche Nachrichtenpriorität an (die für die Warteschlangensortierung verwendet wird).
nrcpts Gibt die Anzahl der Umschlagempfänger für diese Nachricht an (nach Aliasing und Weiterleitung).
proto Gibt das Protokoll an, das zum Empfangen der Nachricht verwendet wird, wie z. B. ESMTP oder UNIX-to-UNIX Copy Program (UUCP).
relay Gibt die Maschine an, von der die Nachricht empfangen wurde.

Die Zeile delivery attempt wird bei jedem Zustellversuch protokolliert (es können also mehrere Zeilen pro Nachricht vorliegen, wenn die Zustellung verzögert wird oder wenn mehrere Empfänger vorhanden sind). Die Felder sind:

Element Beschreibung
to Enthält eine durch Kommas getrennte Liste der Empfänger für diesen Mailer.
ctladdr Gibt den controlling user (steuernden Benutzer) an, d. h. den Namen des Benutzers, dessen Berechtigungsnachweise für die Zustellung verwendet werden.
delay Gibt die Gesamtverzögerung zwischen dem Zeitpunkt, an dem diese Nachricht empfangen wurde, und dem Zeitpunkt an, an dem sie zugestellt wurde.
xdelay Gibt die Dauer an, die bei diesem Zustellversuch benötigt wurde.
mailer Gibt den Namen des Mailers an, der für die Zustellung an diesen Empfänger verwendet wird.
relay Gibt den Namen des Hosts an, der diesen Empfänger tatsächlich akzeptiert (oder abgelehnt) hat.
stat Gibt den Zustellstatus an.

Da möglicherweise eine große Menge an Informationen protokolliert wird, wird die Protokolldatei als Ebenenfolge angeordnet. Beginnend bei Ebene 1, der niedrigsten Ebene, werden nur sehr ungewöhnliche Situationen protokolliert. Auf der höchsten Ebene werden sogar unbedeutende Ereignisse protokolliert. Gemäß Konvention enthalten die Protokollebenen bis zehn die nützlichsten Informationen. Die Protokollstufen über 64 sind für Debugging-Zwecke reserviert. Die Ebenen 11–64 sind für ausführliche Informationen vorgesehen.

Die Aktivitätstypen, die der Befehl sendmail in die Protokolldatei einreiht, werden durch die Option L in der Datei /etc/mail/sendmail.cf angegeben.