Ein Problem von procmail ist die unstrikte Syntax. Wenn man aus Versehen bösartige Direktiven in der .procmailrc platziert, so landen die Mails alle in einer großen Datei, die keine MBox ist. Ein Beispiel:
:0Nun landen alle Mails in einer großen Datei »^X-BeenThere«, kurz gesagt: Schmerz im Hintern. Heute wunderte ich mich über die leer bleibende Inbox. Ein ganzer Tag ohne komische Linux-User die komische Dinge fragen, Leute ohne Freunde, die welche suchen und andere Spammer? Kann nicht sein. In das Logfile von procmail geschaut und obiges Problem entdeckt. Ruby sollte mein Freund sein, das wieder zu beheben:
br />^X-BeenThere: list@youfavouritehost\.com$
.Path.To.Your.Imap.Box/
#! /usr/bin/rubyNachdem die Mails aus der Datei gebastelt wurden, kann man sie nun wieder über procmail ganz normal in die Mailsammlung einpflegen:
a = 0
File.new( “heap_of_mails” ).read.split( /\n\nReceived: / ).each |m| {
a = a.next
File.new( “outputdir/” + a + “_mail.txt”, File::CREAT|File::TRUNC|File::RDWR, 0640 ).write( “Received: “ + m )
}
for file in outputdir/_mail.txt ; do cat $file | procmail ; done
Filed under procmail, Ruby & no comments & no trackbacks
Trackback specific URI for this entry