Durch eine falsche Konfiguration habe ich viele E-Mails in / var / mail / root und / var / mail / www-data
Wie kann ich diese Dateien "durchlaufen" und jede Mail ein anderes Mal senden?
formail , ein Teil von procmail (und möglicherweise bereits auf Ihrem System verfügbar), kann eine Mailbox entgegennehmen, in Nachrichten aufteilen und dann einen Befehl für jede Mailbox ausführen. Von der Manpage:
-s The input will be split up into separate mail messages, and piped
into a program one by one (a new program is started for every
part). -s has to be the last option specified, the first argument
following it is expected to be the name of a program, any other
arguments will be passed along to it. If you omit the program,
then formail will simply concatenate the split mails on stdout
again. See FILENO.
Sie können also tun, was Sie meiner Meinung nach wollen:
formail -s /usr/sbin/sendmail -oi -t < /var/mail/root
ls /var/mail
; do formail -s / usr / sbin / sendmail -oi $ foo <./$foo; done" jede Datei schleifen und lokal ausliefern.Dann in mutt ...
T versetzt es in den Tag-Modus und. * Markiert alle Nachrichten. Das Semikolon wendet den nächsten Befehl auf alle mit Tags versehenen Nachrichten an und leitet die Nachrichten schließlich an eine Adresse weiter, nach der gefragt wird.
Aus der Erinnerung denke ich auch
oder
Werde dann die Mailbox leeren.
quelle
Die / var / spool / mail / xxx-Unix-Postfachdateien sind einfache Textdateien, in denen E-Mail-Nachrichten nacheinander gespeichert werden. Jede E-Mail-Nachricht beginnt mit einer "Von" -Zeile (die nicht Teil der Nachricht ist) mit Absender und Empfangsdatum. Anschließend erhalten Sie E-Mail-Header und anschließend den E-Mail-Text.
Grundsätzlich können Sie einfach die Datei durchlaufen, die solche From-Zeilen erkennt, alle Nachrichten extrahieren und sie dann mit Tools wie dem Python-SMTP-Modul oder dem Perl-Net :: SMTP-Modul von cpan senden.
Wenn das Ziel ein anderes lokales Postfach ist, können Sie die Nachrichten (einschließlich der Von-Zeile) einfach an dieses Postfach anhängen. Sie können sogar das gesamte Root-Postfach an ein anderes Postfach anhängen, wenn Sie nicht möchten, dass auch Nachrichten an Root gesendet werden.
Ich sollte einige Skripte haben, die das tun und Beispiele posten, wenn Sie wollen.
Das Problem könnte darin bestehen, das eigentliche Ziel der Nachricht zu ermitteln, da sie, wenn sie im Stammpostfach endeten, wahrscheinlich von Anfang an auf root abzielten.
quelle