PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Manipulieren einer Emailheaders



Huhn Hur Tu
02.01.14, 10:36
Hallo,

ich habe das Problem dass Toolmails ohne date Feld versendet werden und mein Kmail sich weigert das received_date anzuzeigen.
Aus deisem Grund will ich das date Feld mit dem Wert des received Feld setzen, das gleiche will ich mit From (Wert envelope_from) machen.

Leider habe ich im Moment keine Idee wie ich das handhaben soll.
imapfilter manipuliert die Mail leider nicht.

Hat da jemand eine idee wie ich das per Scipt erledige?

Environment:
Kmail Client
Imap Dovecot
kein Zugriff auf den Server, nur per imap

Gruss Stefan

Huhn Hur Tu
02.01.14, 10:38
Anmerkung, Exchange macht diese Erzetzungen automatisch (und auch einige andere seltsamen Dinge, grusel), Thunderbird zeigt alternativ auch das received_date an.
Die Kmail Leute wollen streng Standartkonform sein und weigern sich das zu implementieren.

Und nein ich will nicht Thunderbird verwenden.

Gruss Stefan

L00NIX
02.01.14, 10:59
Hi,

Microsoft hat ja da immer seine eigenen Standards... ;)

Der MUA (KMail, Thunderbird, Outlook) setzt das Date-Feld beim Abschicken der E-Mail. Die Received-Zeilen werden vom MTA (Postfix, Exchange) hinzugefügt.

Ein zusätzliches Feld für das Empfangsdatum gibt es nicht, es wird eine Received-Zeile dazu hergenommen (Outlook-"Magie"). Somit wird hier also kein Datum irgendwo ausgetauscht, es wird nur aus bestehenden Kopfzeilen client-seitig interpretiert.

Du bist also auf die Implementierung deines MUAs angewiesen.

Gruß
L00NIX

Huhn Hur Tu
02.01.14, 12:17
Hi,
danke erst mal.
Ich dachte an Werkzeuge wie imapfilter, das aber Flags setzen darf, aber zum Teil auch einen MUA darstellt, da er Mails abhohlt, verschiebt, ...

Leider unterztuetzt imapfilter kein anderes manipulieren. Ich bin mir der Tatsache bewusst dass dies extrem unsauber ist, aber ich finde keine andere Loesung.

Gruss Stefan

Huhn Hur Tu
02.01.14, 12:19
Alternativ, gibt es hier einen MUA fuer die Konsole die ich fuer diese Aktion missbrauchen kann?

Gruss Stefan

L00NIX
02.01.14, 14:36
Also die einzige saubere Manipulation wäre es, wenn du einen X-Header hinzufügst, der das Datum des Empfangs enthält.

Zwei Probleme dabei:
1) Thunderbird muss diesen X-Header mit anzeigen können
2) falls 1) zutrifft, wird die Sortierung sicher nicht funktionieren bzw. String-basiert sein (also ohne Intepretation des Datums)

Wenn du wirklich das Date-Feld dafür manipulierst, verlierst du die Information des Absende-Datums. Hier ein Ansatz dazu von der Postfix-Users Mailingliste (Quelle: http://www.mailinglistarchive.com/postfix-users@postfix.org/msg27158.html):


Removing headers loses information (that may help in debugging, filtering, etc.).

Rewrite it instead. use header_checks for that:

/^(Date:.*)$/ REPLACE X-$1

That would rewrite the Date:... header to an X-Date:... header.


Nur mit IMAP wird das leider nichts.

Gruß
L00NIX

Huhn Hur Tu
03.01.14, 10:49
Hi Loonix,

zum einen, Thunderbird ist nicht das Problem, der liest das delivery-date und ist gluecklich.
Das andere ist dass ich das date Feld setzen und nicht manipulieren will, weil eben nicht vorhanden.

Mir reicht es wenn die Mail lokal geaendert wird, nicht jedoch auf dem Server, ich will nur sauber Filtern koennen.

Gruss Stefan


Also die einzige saubere Manipulation wäre es, wenn du einen X-Header hinzufügst, der das Datum des Empfangs enthält.

Zwei Probleme dabei:
1) Thunderbird muss diesen X-Header mit anzeigen können
2) falls 1) zutrifft, wird die Sortierung sicher nicht funktionieren bzw. String-basiert sein (also ohne Intepretation des Datums)

Wenn du wirklich das Date-Feld dafür manipulierst, verlierst du die Information des Absende-Datums. Hier ein Ansatz dazu von der Postfix-Users Mailingliste (Quelle: http://www.mailinglistarchive.com/postfix-users@postfix.org/msg27158.html):


Nur mit IMAP wird das leider nichts.

Gruß
L00NIX

Huhn Hur Tu
03.01.14, 11:19
Zum Thema imapfilter, faellt mir noch ein, ich koennte wenn ich kann, wenn das date Feld nicht gesetzt wird, ein Forward auf mich selbst machen, damit habe ich ein annaeherndes Datum, was mir reichen wuerde.

Nur ein haken hat das ganze, ich habe keien Ahnung wie ich mit dem Ding Mails versende.

Rein theoretisch ginge das auch mit kmail, nur kann ich dem Filter ein Datum keliner groesser oder bestimmt, jedoch nicht die option ist nicht vorhanden mitgeben.

Gruss Stefan

L00NIX
03.01.14, 13:10
Das andere ist dass ich das date Feld setzen und nicht manipulieren will, weil eben nicht vorhanden.


Das Date-Feld müüste der erste MTA setzen, der die nicht RFC2822-konforme E-Mail in die Finger bekommt.

Wie gesagt: Normalerweise setzt das der E-Mail Client des Absenders beim Drücken auf "Senden". Das Feld kann eigentlich nicht verloren gehen.

Gruß
L00NIX

Huhn Hur Tu
03.01.14, 17:37
Normalerweise, aber diverse Tools, eines auf Java basierend, eines als Script realisiert schert sich einen *******dreck drum.
Hier am SMTP anzusetzen waere auch noch eine Idee, mal mit dem Verantwortlichen Jungs und Maedels parlieren;)

Gruss Stefan