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/logWenn 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 syslogdWenn die Datei /var/spool/mqueue/log nicht vorhanden ist, müssen Sie sie erstellen, indem Sie den folgenden Befehl eingeben:
touch /var/spool/mqueue/logDie 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.