Hallo Team,
ich suche nach einer Möglichkeit einen Mailinhalt zu filtern.
Dabei soll die Mail analysiert werden und ein Hyperlink nach dem Muster "http:/// XXX.YYY.com/?AAA#xyz"
in eine separate Datei aussortiert werden.
Da es viele Hundert Mails sind macht ein Bash-Script am meisten Sinn, denn ich möchte es "unattended" aufbauen und über den cron-job einsteuern. Der Mailserver, wo diese Mails liegen ist POP3/SMTP fähig und kann von einem Local-Mailprogramm abgefragt werden.
Mein BS: Debian Lenny
Habt Ihr Ideen bzw einen Lösungsansatz ?
Danke und Gruß
root2root
Mail abfragen und Inhalt filtern, separate Datei.
Re: Mail abfragen und Inhalt filtern, separate Datei.
Lade die Mails (z.B. mit fetchmail) runter. Grepe dann mit einer geeigneten RegExp, zum Beispiel folgende aus der Manpage von urlview(1):
und leite das Ergebnis in eine Datei um.
An sich gar nicht so schwer.
Umsetzen darfst du es aber selbst (oder sonst wer).
Code: Alles auswählen
(((http|https|ftp|gopher)|mailto):(//)?[^ <>"\t]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^ .,;\t\n\r<">\):]?[^, <>"\t]*[^ .,;\t\n\r<">\):]
An sich gar nicht so schwer.
Umsetzen darfst du es aber selbst (oder sonst wer).
Use ed once in a while!
Re: Mail abfragen und Inhalt filtern, separate Datei.
Hallo Meillo,
danke soweit, noch was zur struktur:
Wo legt fetchmail seine textfiles ab, die dann gescannt werden sollen ?
Oder kann man tatsächlich pipen ( in etwa fetchmail pop3.mailserver.de:userblah/blah | grep blah > urldatei )
Danke und Gruß ?
root2root
danke soweit, noch was zur struktur:
Wo legt fetchmail seine textfiles ab, die dann gescannt werden sollen ?
Oder kann man tatsächlich pipen ( in etwa fetchmail pop3.mailserver.de:userblah/blah | grep blah > urldatei )
Danke und Gruß ?
root2root
Re: Mail abfragen und Inhalt filtern, separate Datei.
`man fetchmail' verraet mir:root2root hat geschrieben: danke soweit, noch was zur struktur:
Wo legt fetchmail seine textfiles ab, die dann gescannt werden sollen ?
Oder kann man tatsächlich pipen ( in etwa fetchmail pop3.mailserver.de:userblah/blah | grep blah > urldatei )
Code: Alles auswählen
-m <command> | --mda <command>
(Keyword: mda) You can force mail to be passed to an MDA directly
(rather than forwarded to port 25) with the --mda or -m option.
Use ed once in a while!
Re: Mail abfragen und Inhalt filtern, separate Datei.
Hallo Meillo
Hallo @all
nun bin ich doch früher mal durch dieses tolle Forum auf ngrep gestoßen.
Idealerweise bietet fetchmailrc eine preconnect und postconnect function, siehe http://wiki.notestc.de/index.php/Fetchmail, womit ich durch preconnect mit ngrep aufsetzen, den Traffic parsen und die Links ausrouten würde und mit postconnect den ngrep wieder beenden.
Ohne diesen ganzen mda-kram.
Was meint ihr, macht das Sinn ?
gruß root2root
Hallo @all
nun bin ich doch früher mal durch dieses tolle Forum auf ngrep gestoßen.
Idealerweise bietet fetchmailrc eine preconnect und postconnect function, siehe http://wiki.notestc.de/index.php/Fetchmail, womit ich durch preconnect mit ngrep aufsetzen, den Traffic parsen und die Links ausrouten würde und mit postconnect den ngrep wieder beenden.
Ohne diesen ganzen mda-kram.
Was meint ihr, macht das Sinn ?
gruß root2root
Re: Mail abfragen und Inhalt filtern, separate Datei.
Zuerst einmal erkläre ‘mal wie man Sinn macht. Das wollte ich schon immer wissen....
Zum Anderen ist zum Abholen fetchmail die erste Wahl. Danach kann man nachschalten was beliebt und die Arbeit sinnvoll erledigt.
procmail ist ein relativ einfach aufzusetzendes Werkzeug das zur Hauptsache aus einer (oder auch mehreren) Textdatei(en) besteht. Um das für seinen Zweck erfolgversprechend zu konfigurieren gibt es
In die fetchmailrc bindet man procmail mit einem einfachen ein.
Das ist dann aber doch mit „mda-Kram”. Wobei alles andere auch nichts anderes ist.
Zum Anderen ist zum Abholen fetchmail die erste Wahl. Danach kann man nachschalten was beliebt und die Arbeit sinnvoll erledigt.
procmail ist ein relativ einfach aufzusetzendes Werkzeug das zur Hauptsache aus einer (oder auch mehreren) Textdatei(en) besteht. Um das für seinen Zweck erfolgversprechend zu konfigurieren gibt es
- die man procmailex
und das Netz
In die fetchmailrc bindet man procmail mit einem einfachen
Code: Alles auswählen
mda procmail
Das ist dann aber doch mit „mda-Kram”. Wobei alles andere auch nichts anderes ist.
Re: Mail abfragen und Inhalt filtern, separate Datei.
So, jetzt ist fetchmail mit exim installiert
Ohne exim ( oder einem anderen MDA ) ging es nicht. fetchmail hat nach etablierter verbindung zum mailserver im logfile ständig "SMTP-Failure" gemeldet.
die mails liegen in /var/mail/user, auf die datei dort schicke ich ein $( cat /var/mail/user | grep "_link_" >filtered.lnk ); -> bingo.
Eigentlich super, nur daß die mail-datei mittlerweile 262mb groß geworden ist. fetchmail jedesmal alle mails auf dem server zieht. Da muß ich noch etwas an der conf feilen. die juüngsten 1-2 Tage alten mails reichen.
Es geht weiter
mfg root2root
Ohne exim ( oder einem anderen MDA ) ging es nicht. fetchmail hat nach etablierter verbindung zum mailserver im logfile ständig "SMTP-Failure" gemeldet.
die mails liegen in /var/mail/user, auf die datei dort schicke ich ein $( cat /var/mail/user | grep "_link_" >filtered.lnk ); -> bingo.
Eigentlich super, nur daß die mail-datei mittlerweile 262mb groß geworden ist. fetchmail jedesmal alle mails auf dem server zieht. Da muß ich noch etwas an der conf feilen. die juüngsten 1-2 Tage alten mails reichen.
Es geht weiter
mfg root2root