Skripthilfe - Parsen von /var/spool/mail/user

Skripthilfe - Parsen von /var/spool/mail/user

CentOS 5.x | SendMail

Hallo Leute,

Gibt es eine einfache Möglichkeit, einzelne Nachrichten aus /var/spool/mail abzurufen? Ich habe eine Idee für ein wirklich einfaches Skript und würde gerne jede einzelne Nachricht auf etwas überprüfen.

Das Szenario wäre:

1) Neue E-Mail kommt im Posteingang an. 2) Das Skript sucht nach einer bestimmten Zeichenfolge. 3) Wenn die Zeichenfolge gefunden wird, ruft das Skript verschiedene Header-Informationen und E-Mail-Informationen an die Adresse ab.

Mir ist klar, dass ein Milter wahrscheinlich die beste Lösung wäre, aber ich hatte gehofft, eine Möglichkeit zu finden, dies mit einem Shell-Skript zu tun, da ich das üben möchte. Das Problem ist, dass ich scheinbar keine Möglichkeit finde, die einzelnen Nachrichten zu analysieren oder anderweitig zu isolieren. Wenn ich /var/spool/mail/ untersuche, sehe ich eine große Datei mit mehreren Nachrichten und keinem eindeutigen Trennzeichen zwischen den Nachrichten.

Antwort1

Wenn man einfache Shell-Skripte außer Acht lässt, hat fast jede Programmiersprache eine Bibliothek zum Parsen einesmboxformatiertes Postfach.

Wenn Sie sich umsehen, können Sie natürlich auch viele POP3- und IMAP-Clientbibliotheken finden.

Sie sollten auch in der Lage sein, etwas wieprocmailoderMail Dropum Ihre Nachrichten zu filtern.

Antwort2

Normalerweise erledigen Sie diese Dinge beim Empfangen der E-Mail mit einem MDA wie procmail. Wenn Sie bereits ein Postfach haben, wird procmail mit formail(1) ausgeliefert. Damit können Sie für jede E-Mail in einem Postfach ein Programm ausführen und haben die Möglichkeit, Header zu filtern und umzuschreiben.

verwandte Informationen