AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Emails verarbeiten - Indy ist nicht gut genug :(
Thema durchsuchen
Ansicht
Themen-Optionen

Emails verarbeiten - Indy ist nicht gut genug :(

Ein Thema von adrian4321 · begonnen am 12. Aug 2009 · letzter Beitrag vom 15. Apr 2020
Antwort Antwort
Seite 3 von 3     123   
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#21

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 3. Sep 2009, 10:48
Hallo,

ein Nachtrag: Die hier vorgestellten Probleme wurden bereinigt und stehen im aktuellen Indy SVN zur Verfügung.



Ein Test mit einem Punkt, mit zwei Punkten etc. läuft nun bei GMail ohne Probleme, auch nach Speichern und Neuladen aus einer .eml Textdatei mit TIdMessage. Je nach Quellmail wird es entweder QP codiert oder z.B. 7bit.

Falls jemand noch andere Problemmails hat, immer her damit.

@jbg: Der Punkt in der Mail muß vom Server entweder als Quoted Printable mit =2E codifert werden (http://tools.ietf.org/html/rfc1756) oder wenigstens innerhalb eines z.B.
Zitat:
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
stehen - wenn der Server den Punkt anders in einer .eml Datei speichert, ist das leider ein grober Schnitzer Eures Mailservers.

Woher kommt denn die .eml Datei? Aus Outlook exportiert oder vom Server exportiert? Kannst Du zur Fehlersuche eine Mail ohne AntiVir Gateway empfangen?

Ich würde Tippen, wenn der Postfix die direkt zustellt, ist die Mail korrekt und läuft auch in Indy. Das AntiVir Gateway ändert jede (!) Mail, wie man am X-AntiVirus: checked by AntiVir MailGate sieht. Also kann hier auch der Encoding-Fehler zuschlagen.

Manche Fehler lassen sich nicht beheben, z.B. fehlerhaftes Charset - da kann nur der Benutzer eingreifen, da er weiß, welche Sprache es sein soll. Gleiches gilt für grobe Encoding Fehler - der Fix im SVN behebt nur, doppelte und fehlerhafte Content-Encodings, aber kann fehlerhaft codierte Daten nicht gültig machen.

Die Funktion je nach Aufruf anders arbeiten zu lassen, ist meiner Meinung nach nicht sinnvoll. Beispiel: Indy wird auch als Post/Pre-Parser für Exchange Server eingesetzt (Connector) - wenn hier aus und in Dateien gespeichert wird, soll es sich eben genau wie ein Mailserver-Parsing verhalten.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#22

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 3. Sep 2009, 11:12
Zitat:
ein Nachtrag: Die hier vorgestellten Probleme wurden bereinigt und stehen im aktuellen Indy SVN zur Verfügung.
Meins auch...? Dickes Lob für Dein Engagement auf jeden Fall Endlich hab ich einen guten Ansprechpartner

Dann werde ich die Tage die neueste Version einbauen und schauen, welche Fehler übrig bleiben. Bin leider nur grad fürchterlich im Uni-Lernstress, daher muss das Softwareentwickeln im Moment etwas kürzer treten, wird wohl noch so bis Mitte Oktober dauern, bis ich mich wieder mehr reinhängen kann...

Viele Grüße!
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#23

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 3. Sep 2009, 11:17
Hi Adrian,

Zitat von adrian4321:
Zitat:
ein Nachtrag: Die hier vorgestellten Probleme wurden bereinigt und stehen im aktuellen Indy SVN zur Verfügung.
Meins auch...?
Gerade Deine Test-Mail läuft nun fehlerfrei durch

Zitat von adrian4321:
Dickes Lob für Dein Engagement auf jeden Fall Endlich hab ich einen guten Ansprechpartner
Danke für das Lob, das hört man gerne!

Zitat von adrian4321:
Dann werde ich die Tage die neueste Version einbauen und schauen, welche Fehler übrig bleiben. Bin leider nur grad fürchterlich im Uni-Lernstress, daher muss das Softwareentwickeln im Moment etwas kürzer treten, wird wohl noch so bis Mitte Oktober dauern, bis ich mich wieder mehr reinhängen kann...
Kein Problem, sobald Du noch andere Sachen entdeckst, gerne her damit

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#24

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 3. Sep 2009, 11:23

Nachtrag: Funktioniert wirklich
  Mit Zitat antworten Zitat
paresy

Registriert seit: 24. Aug 2004
Ort: Lübeck
105 Beiträge
 
Delphi 2007 Professional
 
#25

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 9. Nov 2009, 12:01
Habe die aktuellste Indy Version aus dem SVN (3867).

Diese funktioniert jetzt auch recht gut beim Dekodieren von Betreffzeilen.
Jedoch gibt es mal wieder besondere Server, die sich nicht an die RFC Spezifikation halten. (z.B. StudiVZ)

z.B. =?UTF-8?Q?Du wurdest zum Moderator bef=C3=B6rdert?=

Leerzeichen sind laut RFC2047 aber nicht erlaubt und deswegen dekodiert Indy diese Zeile nicht. Andere Funktionen (z.b. von PHP: http://php.net/manual/de/function.iconv-mime-decode.php) sehen das nicht so eng und dekodieren dies trotzdem.

Wäre es Möglich, dass Indy das auch etwas weniger restriktiv dekodiert?

Grüße,
paresy
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#26

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 9. Nov 2009, 20:34
Hallo Paresy,

Zitat von paresy:
Habe die aktuellste Indy Version aus dem SVN (3867).

Diese funktioniert jetzt auch recht gut beim Dekodieren von Betreffzeilen.
Danke für das positive Feedback!

Zitat von paresy:

Jedoch gibt es mal wieder besondere Server, die sich nicht an die RFC Spezifikation halten. (z.B. StudiVZ)

z.B. =?UTF-8?Q?Du wurdest zum Moderator bef=C3=B6rdert?=

Leerzeichen sind laut RFC2047 aber nicht erlaubt und deswegen dekodiert Indy diese Zeile nicht. Andere Funktionen (z.b. von PHP: http://php.net/manual/de/function.iconv-mime-decode.php) sehen das nicht so eng und dekodieren dies trotzdem.

Wäre es Möglich, dass Indy das auch etwas weniger restriktiv dekodiert?
Da muß ich Dir zustimmen, auch wenn der Header wie Du schon geschrieben hast, so nicht korrekt formuliert ist. Trotzdem wird ja von faktisch allen E-Mail Clients (Thunderbird, MSO) das Parsing relaxt sobald diese ungültige Daten auflaufen.

Ich habe das im Team mal vorgeschlagen, kann aber derzeit keine Aussage oder Versprechen machen ob und wann da etwas geändert wird.

Auf jeden Fall Danke fürs Melden (auch wenn es kein Bug ist, ist es ja hilfreich)!

Gruß Assertor

Frederik
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#27

Re: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 12. Nov 2009, 12:13
Hi,

Zitat von paresy:
Andere Funktionen (z.b. von PHP: http://php.net/manual/de/function.iconv-mime-decode.php) sehen das nicht so eng und dekodieren dies trotzdem.

Wäre es Möglich, dass Indy das auch etwas weniger restriktiv dekodiert?
Wir sind noch am Diskutieren, derzeit ist das Ergebnis offen. Aber zu Iconv: Der oben gezeigte Link zeigt auch, daß dort ein Strict Mode implementiert ist (aber dort per default off). Sobald es etwas neues gibt, poste ich es hier.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
251 Beiträge
 
#28

AW: Emails verarbeiten - Indy ist nicht gut genug :(

  Alt 15. Apr 2020, 14:35
Hi,

der Post ist zwar schon Uralt, aber ich bin gerade an genau diesem Problem aus dem letzten Kommentar dran.
Habt ihr hier schon entschieden bzw. gibt es einen Workaround? Wäre echt sehr nice.

Gruß
PJM
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz