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! :-)

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.


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


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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.