Re: Header aus E-Mails entfernen (formail)
Am 2004-02-14 02:49:54, schrieb Dirk Prösdorf: Michelle Konzack [EMAIL PROTECTED] wrote: Da kommt irgendwie Schrott beim Received-Header raus... Und wie willste das mit 4.000.000 Mails machen ? Die Warscheinlichkeit dürfte ziemlich hoch sein, dass da immer Mails dabei sein werden, die zu Schrot werden und bei der Menge bekommst Du es kaum geprüft wie viele es sind. Habe ich bereits gemerkt... #!/bin/bash cat $1 | formail -f -I Received: -I Envelope-to: -I Delivered-To: -I Return-path: $1.tmp mv $1.tmp $1 Killt mir die Bodys zu ungefähr 17% !!! Habe dann einfach ein 'sleep 1' dazwischen hineingehängt und jetzt ist die Fehlerquote unbekannt. (Habe rund 400 Mails manuell überprüft und nichts gefunden) Dafür braucht die Kiste jetzt allerdings 55 Tage... bei rund 50 Mails pro Minute... Ist mir aber egal, da die Mails auf meinem List-Server sind und nach Abarbeitung automatisch monatsweise Archiviert werden. Die neuen Mails die Über die Listen hineinkommen, werden direkt in meiner procmailrc gestiped, wozu ich allerdings nur die gestripte copie der Mails lese, und ein origial den ersten Monat in aufgehoben wird, da ich die Fehlerquote überprüfen will. Du weißt, dass mutt mit gegzipten Mail-Archiven zurecht kommt und dass man mit zgrep auch in diesen suchen kann? Ich weis, funktionietrt aber nur mit mbox und nicht mit maildir. Gut, läßt sich über einen folder-hook auch machen, nur das frißt resourcen bei 3600 Mails pro Monat. (muß ne *.tar.gz) sein. einzeln GZIPen geht nicht (Haben wir bereits versucht.) Dann habe ich am Schluß eine Mailbox mit sämmtlichen E-Mails der debian-user-(german,de) in einer einzigen Mailbox. Sprich 3000 Messages mal (03/1999 bis 02/2004)... weniger gut. Kann mit archivemail wieder auseinander gepflügt werden. Dann liste mal aus versehen einen Folder mit 180.000 Files... Der Rechner ist fürn ne Stunde nicht mehr verwendbar... nicht mal ls konnte ich mit ^C abbrechen ode von einer zweiten Console killen der wollte seinen JOB wirklich anständig beenden. man perl :- Dürfte vermutlich mit den entsprechenden Modulen eh der einfachste Weg sein um die Mails in dem von Dir gewünschten Umfang halbwechs vernüftig zu manipulieren. Ist richtig, nur habe ich keine Ahnung von perl Pragrammierung. Ich mache zwar viel, kann aber nicht alles... Greetings Michelle -- Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Header aus E-Mails entfernen (formail)
Gut, mittlerweile funktioniert das stripen der Header... Wen ich allerdings die Messages mit 'find' suche und dann durch eine BASH-Script mit formail jage, verliere ich zuviel Zeit... Nun habe ich in meiner ~/procmailrc: :0 * [EMAIL PROTECTED] { :0 c [EMAIL PROTECTED]/${MONTHFOLDER}/ :0 | formail -f -I Received: -I Envelope-to: -I Delivered-To: -I Return-path: :0 [EMAIL PROTECTED]/${MONTHFOLDER}/ } und einlesen tu ich die Maildir-Datein mit: find -type f -exec /usr/bin/procmail {} ';' Das Ding ist rund 7 Mal schneller !!! Das macht über 300 Messages pro Minute auf einem P1/200 mit 64 MByte und einem PIO MODE 4 Controller. (Festplatte ist eine IBM 120 GByte) Habe ein kleines Script geschrieben, das mir in einer Schleife einfach ein df -m /home anzeigt... Enorm... über 40% Festplatten platz gespart. Fehlt nur noch eine Blocksize von 2 kByte anstatt 4 kByte. Greetings Michelle -- Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Header aus E-Mails entfernen (formail)
Kleine Korrektur... Am 2004-02-14 12:37:26, schrieb Michelle Konzack: Nun habe ich in meiner ~/procmailrc: :0 * [EMAIL PROTECTED] { :0 c [EMAIL PROTECTED]/${MONTHFOLDER}/ :0 ^^ Da fehlt ein 'fh' | formail -f -I Received: -I Envelope-to: -I Delivered-To: -I Return-path: :0 [EMAIL PROTECTED]/${MONTHFOLDER}/ } Greetings Michelle -- Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Header aus E-Mails entfernen (formail)
* * Do not Cc: me, because I am on THIS list, if I write here * * Keine Cc: am mich senden, bin auf DIESER Liste wenn ich hier schreibe * * Hallo, nach Durchsicht meines Mailachives (seit 1999, rund 4 millionen E-Mails) will ich Diskspace sparen, indem ich alle Received: Header entferne. Desweitern noch Envelope-to: und Delivered-To: Allerdings kriege ich das irgendwie nicht auf die Reihe. Wie lauter die Syntax ? 2. Frage: Also die E-Mails habe ich in einer Temporären Verzeichnisstruktur als maildir vorliegen und lese sie mit 'find' eine nach dem anderen aus. Der user 'lists' hat eine funktionierende .procmailrc und für jede Mailingliste ein verzeichnis liste@server mir jeweils Unterver- zeichnisen für die Jahre und Monate also 2004-02 zum Beispiel. Wie kriege ich formail/procmail dazu, die richtigen Unterverzeichniss zu erstellen ? Das Beispiel in der procmailex(5) macht immer 200402, was ich nicht will. 3. Frage: Habe einige E-Mails (mehrere komplette Folder) verloren in dem ich auch eine Mail hatte, in der jemand ein Paket empfohlen hat, das kaputte DATE-Header repariert... Sprich, DATE-Header von personen die probeleme mit der System Zeit haben und dann Datum wie 1.1.1970 oder 1.1.2030 haben... Wie lautet das Paket ? Kann mir jemand weiterhelfen ? Greetings Michelle -- Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Header aus E-Mails entfernen (formail)
Hallo Michelle, On Fri, Feb 13, 2004 at 05:28:00PM +0100, Michelle Konzack wrote: Hallo, nach Durchsicht meines Mailachives (seit 1999, rund 4 millionen E-Mails) will ich Diskspace sparen, indem ich alle Received: Header entferne. Desweitern noch Envelope-to: und Delivered-To: Allerdings kriege ich das irgendwie nicht auf die Reihe. Wie lauter die Syntax ? so z.B.: #: cat $mbox_dirty|formail -c|grep -v Received: |\ grep -v Envelope-to: |grep -v Delivered-To: $mbox_clean 2. Frage: Also die E-Mails habe ich in einer Temporären Verzeichnisstruktur als maildir vorliegen und lese sie mit 'find' eine nach dem anderen aus. Der user 'lists' hat eine funktionierende .procmailrc und für jede Mailingliste ein verzeichnis liste@server mir jeweils Unterver- zeichnisen für die Jahre und Monate also 2004-02 zum Beispiel. Wie kriege ich formail/procmail dazu, die richtigen Unterverzeichniss zu erstellen ? Das Beispiel in der procmailex(5) macht immer 200402, was ich nicht will. 'date +%Y-%m' ^ Hast Du den beachtet? [...] Greetings Michelle HTH Mathias signature.asc Description: Digital signature
Re: Header aus E-Mails entfernen (formail)
Mathias Klein [EMAIL PROTECTED] writes: Hallo Michelle, On Fri, Feb 13, 2004 at 05:28:00PM +0100, Michelle Konzack wrote: Hallo, nach Durchsicht meines Mailachives (seit 1999, rund 4 millionen E-Mails) will ich Diskspace sparen, indem ich alle Received: Header entferne. Desweitern noch Envelope-to: und Delivered-To: Allerdings kriege ich das irgendwie nicht auf die Reihe. Wie lauter die Syntax ? so z.B.: #: cat $mbox_dirty|formail -c|grep -v Received: | \ grep -v Envelope-to: |grep -v Delivered-To: $mbox_clean Entfernt das nicht auch entsprechende Zeilen im Mailbody? Ich würde eher formail -I Received: -I Envelope-to: -I Delivered-To: vorschlagen. Grüße Martin -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Header aus E-Mails entfernen (formail)
Hallo, On Fri, Feb 13, 2004 at 07:54:34PM +0100, Martin Dickopp wrote: Mathias Klein [EMAIL PROTECTED] writes: Hallo Michelle, On Fri, Feb 13, 2004 at 05:28:00PM +0100, Michelle Konzack wrote: Hallo, nach Durchsicht meines Mailachives (seit 1999, rund 4 millionen E-Mails) will ich Diskspace sparen, indem ich alle Received: Header entferne. Desweitern noch Envelope-to: und Delivered-To: Allerdings kriege ich das irgendwie nicht auf die Reihe. Wie lauter die Syntax ? so z.B.: #: cat $mbox_dirty|formail -c|grep -v Received: |\ grep -v Envelope-to: |grep -v Delivered-To: $mbox_clean Entfernt das nicht auch entsprechende Zeilen im Mailbody? Ich würde eher formail -I Received: -I Envelope-to: -I Delivered-To: vorschlagen. Ja, die Möglichkeit besteht. Nach nochmaligem lesen von man formail weiß ich auch warum mir Dein Vorschlag nicht eingefallen ist: -I: same as -i, except... -i: same as -A, except... -A: append... wenn man die einzelnen Punkte nicht bis zu Ende liest kommt man da ganz schnell auf den falschen Gedanken, daß Löschen nicht direkt Möglich sei! Grüße Martin Danke! Grüße Mathias signature.asc Description: Digital signature
Re: Header aus E-Mails entfernen (formail)
Am 2004-02-13 19:37:36, schrieb Mathias Klein: Hallo Michelle, #: cat $mbox_dirty|formail -c|grep -v Received: | \ grep -v Envelope-to: |grep -v Delivered-To: $mbox_clean Da kommt irgendwie Schrott beim Received-Header raus... Und wie willste das mit 4.000.000 Mails machen ? Ich muß die Geschicht durch procmail jagen... Ich habe keine Mailboxen. 2. Frage: Also die E-Mails habe ich in einer Temporären Verzeichnisstruktur als maildir vorliegen und lese sie mit 'find' eine nach dem anderen aus. Der user 'lists' hat eine funktionierende .procmailrc und für jede Mailingliste ein verzeichnis liste@server mir jeweils Unterver- zeichnisen für die Jahre und Monate also 2004-02 zum Beispiel. Wie kriege ich formail/procmail dazu, die richtigen Unterverzeichniss zu erstellen ? Das Beispiel in der procmailex(5) macht immer 200402, was ich nicht will. 'date +%Y-%m' ^ Hast Du den beachtet? Dann habe ich am Schluß eine Mailbox mit sämmtlichen E-Mails der debian-user-(german,de) in einer einzigen Mailbox. Sprich 3000 Messages mal (03/1999 bis 02/2004)... weniger gut. Ich muß irgendwie den Date-Header nehmen... Da war in einem der tausenden Pakete ein tool, das einen Zeitsting (serielles Datum) in einen Date-Header-Sting verwandelt und umgedreht. Und vom seriellen Datum zum String konnte man das format wie bei 'date' angeben. Hatte sowas mal unter DOS programmiert... HTH Mathias Greetings Michelle -- Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Header aus E-Mails entfernen (formail)
Am 2004-02-13 19:54:34, schrieb Martin Dickopp: Entfernt das nicht auch entsprechende Zeilen im Mailbody? Ich würde eher formail -I Received: -I Envelope-to: -I Delivered-To: vorschlagen. Hey, das funktioniert, nur habe ich jetzt das Problem, das er mir einen From Header reinsetzt... Grr '-f' vergessen. Habe gerade die ersten 1793 Messages (8.193.641 Bytes) dises Monats durch gejagt... Messages2-3 kBytes: - 507 3-4 kBytes: 542 - 662 4-5 kBytes: 955 - 491 5-6 kBytes: 208 - 86 6-7 kBytes:56 - 27 7-8 kBytes:17 - 10 8 kBytes:15 - 10 Übriggeblieben sind 6.835.449 Bytes plus die Ersparnis duch den zweiten 4 kBlock im Bereich von 4-8 kBytes. Ich denke, das ich die beim Initialisieren der nächsten Festplatte eine Blocksize von 2 kBytes nehmen werde. Grüße Martin Greetings Michelle -- Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Header aus E-Mails entfernen (formail)
Michelle Konzack [EMAIL PROTECTED] wrote: Da kommt irgendwie Schrott beim Received-Header raus... Und wie willste das mit 4.000.000 Mails machen ? Die Warscheinlichkeit dürfte ziemlich hoch sein, dass da immer Mails dabei sein werden, die zu Schrot werden und bei der Menge bekommst Du es kaum geprüft wie viele es sind. Du weißt, dass mutt mit gegzipten Mail-Archiven zurecht kommt und dass man mit zgrep auch in diesen suchen kann? Dann habe ich am Schluß eine Mailbox mit sämmtlichen E-Mails der debian-user-(german,de) in einer einzigen Mailbox. Sprich 3000 Messages mal (03/1999 bis 02/2004)... weniger gut. Kann mit archivemail wieder auseinander gepflügt werden. Ich muß irgendwie den Date-Header nehmen... Da war in einem der tausenden Pakete ein tool, das einen Zeitsting (serielles Datum) in einen Date-Header-Sting verwandelt und umgedreht. man perl :- Dürfte vermutlich mit den entsprechenden Modulen eh der einfachste Weg sein um die Mails in dem von Dir gewünschten Umfang halbwechs vernüftig zu manipulieren. -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)