Protokolliere alle Mails und Inhalte (sSMTP)

9

Wie kann ich alle E-Mails protokollieren, die über sSMTP gesendet werden?

Ich kann meine Anwendungen auf ein Wrapper-Skript verweisen. Ich weiß nur nicht, wie ich ein Wrapper-Skript schreiben soll, das Header und Inhalte in einer Datei protokolliert (so viele Informationen wie möglich).

Vielen Dank! :-)

Thomas Jensen
quelle

Antworten:

11

In sSMTP ist die Debug-Protokollierung integriert. Fügen Sie in Ihre Datei ssmtp.conf die folgende Zeile ein: Debug = YES

Wenn die Debug-Protokollierung aktiv ist, wird der gesamte Inhalt von E-Mails, die über sSMTP gesendet werden, einschließlich der Header, in syslog protokolliert.

Daniel
quelle
Die ssmtp.confManpage erwähnt diesen Parameter nicht: /
cweiske
6

Das Folgende sollte als sSMTP-Wrapper-Skript funktionieren. Es protokolliert die Parameter, mit denen es aufgerufen wird, und die auf stdin bereitgestellten Daten. Ändern Sie den Speicherort der Protokolldatei und den Namen des realen sSMTP entsprechend.

#!/bin/sh
set -e
LOGFILE="/tmp/ssmtp-$(date +%Y%m%d-%H%M%S-$$)"
echo "$0 $@" > "$LOGFILE"
tee -a "$LOGFILE" | ssmtp.real "$@"

Denken Sie daran, das Skript ausführbar zu machen:

chmod +x /path/to/script

mgorven
quelle
Kann ich die Antwort von Amazon auch in der Protokolldatei protokollieren?
Thomas Jensen
0

Warum protokolliert Ihr SMTP-Server nicht einfach alle empfangenen Nachrichten und erfasst so die gesamte Nachricht?

Wenn Sie einen externen Server verwenden, können Sie einfach einen einfachen internen Server einrichten, der dann an den externen Server weitergeleitet wird.

Brent Pabst
quelle
2
Ich verwende Amazon SES, das keine Protokollierung bietet. Ich dachte, sSMTP wäre dieser einfache interne Server?
Thomas Jensen
0

Meine Arbeitslösung ist : ssmtp -d9 <email-recipient>.

Antonio Petricca
quelle