Re: Header aus E-Mails entfernen (formail)

2004-02-14 Diskussionsfäden Michelle Konzack
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)

2004-02-14 Diskussionsfäden Michelle Konzack
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)

2004-02-14 Diskussionsfäden Michelle Konzack
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)

2004-02-13 Diskussionsfäden Michelle Konzack
*
* 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)

2004-02-13 Diskussionsfäden Mathias Klein
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)

2004-02-13 Diskussionsfäden Martin Dickopp
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)

2004-02-13 Diskussionsfäden Mathias Klein
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)

2004-02-13 Diskussionsfäden Michelle Konzack
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)

2004-02-13 Diskussionsfäden Michelle Konzack
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)

2004-02-13 Diskussionsfäden Dirk Prsdorf
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)