Email Versand[ERLEDIGT]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Email Versand[ERLEDIGT]

Beitrag von Muecke »

Guten Tag

Habe neue Version von Alaska installiert 1354.

Versand mit Eamil gehe ich den Weg von Alaska

Nun habe ich beim empfang der Emails keine Umlaute mehr.

Dies nur in der Message

=E9=E0=A3=E8=21=F6=E4=24=FC=A8
test
=DC=A8=D6=C4=24=C8=21=C9=C0=A3

Alaska hat da mit MimeMessage():setCharset() was hinzugefügt.

Kann mir da jemand helfen, bevor ich wieder zurück auf die Version 1334 gehe.

Schöne Grüsse
Thomas
Zuletzt geändert von Muecke am Di, 22. Dez 2020 10:14, insgesamt 3-mal geändert.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand

Beitrag von ramses »

Hallo Thomas

du erschreckst mich, ich sende Mails auf die selbe Art.

Hast du weitere Infos in welchem Umfeld das Problem auftritt?

Ich habe als erste Zeilen in der HTML Message des Mails die Zeilen

Code: Alles auswählen

<!doctype html>
<HTML>
<HEAD>
<meta charset="ISO-8859-1">
</HEAD>
Ich vermute dass nun offensichtlich noch UTF-8 eingesetzt/verwendet wird.

Die obige Message kommt beim Empfäger nun so an:

Code: Alles auswählen

<!doctype html>
<html>
<head><META http-equiv=Content-Type content="text/html; charset=utf-8">
<meta charset="ISO-8859-1">
</head>
ist aber beim Empfänger korrekt lesbar.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

Hallo Carlo

Was zu sagen ist, ich sende nur Text.

So habe ich eingestellt

oMimeMsg:addHeader( "Content-Type", "text/plain; charset=ISO-8859-1" )
oMimeMsg:setMessage( ToQP(cMessage) )

Wie kann ich das auslesen, was ankommt.

Wenn ich die asinet10.dll vom version 1334 tausche, geht dies ohne Probleme.

Gruss
Thomas
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand

Beitrag von ramses »

Hallo Thomas

du hast recht bei Textmails ist es komisch. Habe das Problem damit auch.

Was ankommt siehst du wenn du dir ein Mail selbst zustellst und dann z.B. auf dem Mailclient die Datei ansiehst.
Valar Morghulis

Gruss Carlo
WernerSt
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 41
Registriert: Do, 05. Apr 2007 12:50
Wohnort: 26135 Oldenburg
Kontaktdaten:

Re: Email Versand

Beitrag von WernerSt »

Hallo,
hatte das Problem auch bei dem Empfang von eMails.
Nachdem ich bei HTML-Mails die Konvertierung mit char2utf8( cHTML )
eingesetzt habe, war es gut.
Werner
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

Hallo Werner

Ja leider sende ich nur in Text

Gruss
Thomas
WernerSt
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 41
Registriert: Do, 05. Apr 2007 12:50
Wohnort: 26135 Oldenburg
Kontaktdaten:

Re: Email Versand

Beitrag von WernerSt »

Stimmt,
den Versand meiner Mails hatte ich noch nicht getestet.
Stelle jetzt fest, dass meine gesendete Textmail auch nicht gut mit outlook lesebar ist (die Umlaute sind nicht korrekt).
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand

Beitrag von ramses »

Hallo Thomas

Zuerst Danke für dein Beitrag. Dank dem bin ich da wo ich die neue Version übers WE installiert habe nicht in den "Hammer" gelaufen sondern konnte noch eingreifen bevor allzuviele Missgebildete "Nur Text" Mails rausgingen.

Es ist schon krass dass so eine änderung im Verhalten des SMTP-Clients ohne Hinweis oder Vorwarnung mit einem Update kommt.

Ich bin zurück zur Vorgehenden Version. Weil der Fehler schlägt auch auf der "Betreff" Zeile zu und einfach die Daten als UTF8 übergeben macht kein Sinn bevor Alaksa zu dem Problem Stellung nimmt.

Jemand der dazu Zeit hat sollte es Alaska melden.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

Habe ich bereits gemeldet

Nur ist der Support in den Ferien bis 11 Januar.


Carlo, wenn du die asinet10.dll von alter Version nimmst, geht alles,
auch wenn du mit neuer Version kompilierst.
Das hat zu tun mit setCharset. Dies ist in der alten asinet10.dll nicht vorhanden

Schöne Grüsse
Thomas
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

Hallo Carlo

Das kam vom Support

1) Das Rufen der Methode :setTransferEncoding() ist nicht notwendig
2) Das Rufen der Methode :setHeader() ist nicht notwendig
3) Das Rufen von Bin2QP() ist nicht mehr notwendig.

Dein Code beschränkt sich also nur auf:

////////////////////////////////////////////////////////////////////////
oMimeMsg:setMessage( cMessage )
////////////////////////////////////////////////////////////////////////

Probiere dies mal, jetzt geht dies bei mir mit den Umlauten.

Schöne Grüsse
Thomas
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

Achtung das geht doch noch nicht.

Habe dies nochmals Alaska gesendet

Gruss
Thomas
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand

Beitrag von ramses »

Hallo Thomas

für meine "nur Text" verwende ich nur

oMimeMsg:setMessage( cMessage )

beim versenden sind dann beim Empfänger nicht nur die Umlaute der Message missgebildet sondern auch die Betreff Zeile.
Es geht also wirklich seit dem Update nicht mehr.

DLL's verschieder Runtime Versionen zu mischen ist nicht so mein Ding.
Auch wenn es scheinbar funktioniert möchte ich dies so nicht bei einem Kunden installieren.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

Hallo Carlo

Ja mache ich auch nicht.

Vielleicht höre ich nochmals was von Alaska.
Ansonsten zurück auf alte Version.

Gruss
Thomas
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand

Beitrag von ramses »

Muecke hat geschrieben: Mo, 21. Dez 2020 16:08 Ansonsten zurück auf alte Version.
Das ist für den Entwickler und dessen Kunden der einzige Weg mit dem geringsten Frustpotential .....
Valar Morghulis

Gruss Carlo
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von Muecke »

So jetzt geht es mit Text
Alaska Support hat mir dies geschrieben.

oMimeMsg:setCharset( "utf-8" )
oMimeMsg:setMessage( cMessage )

So kommen die Umlaute bei mir richtig.

Schöne Grüsse
Thomas
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Jan »

Thomas,

Danke für die Mitteilung. Hab das gleich bei mir eingebaut.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Muecke »

Jan
nicht nur einbauen, auch schnell testen.

Gruss
Thomas
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Jan »

Thmas,

:-) das gehört ja zum Einbauen zwangsläufig dazu.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Email Versand

Beitrag von brandelh »

Muecke hat geschrieben: Di, 22. Dez 2020 10:14 So jetzt geht es mit Text
Alaska Support hat mir dies geschrieben.

oMimeMsg:setCharset( "utf-8" )
oMimeMsg:setMessage( cMessage )

So kommen die Umlaute bei mir richtig.

Schöne Grüsse
Thomas
nur zur Sicherheit, die cMessage kann OEM oder ANSI Text sein und du hast die nicht selbst nach UTF-8 umgewandelt ?

Dann wäre das ja eine echte Erleichterung.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand[ERLEDIGT]

Beitrag von ramses »

Hallo Thomas

Danke für deine Bemühung und die Infos.

Getestet mit OEM Files und OEM Subject ohne Umwandlung ist es so mit setCharset () einwandfrei.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Tom »

Alle Methoden und Funktionen, die nativer Bestandteil von Xbase++ sind, sorgen dafür, dass der in der Anwendung verwendete Zeichensatz bei Konvertierungen korrekt ankommt.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Email Versand[ERLEDIGT]

Beitrag von ramses »

Tom hat geschrieben: Di, 22. Dez 2020 13:38 Alle Methoden und Funktionen, die nativer Bestandteil von Xbase++ sind, sorgen dafür, dass der in der Anwendung verwendete Zeichensatz bei Konvertierungen korrekt ankommt.
Hallo Tom

da muss ich dir klar wiedersprechen! Das ist heute so aber das war früher nicht so.
z.B. in einem Programm das intern den Zeichensatz OEM verwendet musste z.B. der Betreff vor der übergabe nach ANSI gewandelt werden.
Das ist aktuell nicht mehr nötig. Der Code muss entsprechend angepasst werden bez. das umwanden in ANSI muss ausgebaut werden.
Du kannst dies gerne mit der Version 2.0.951 testen.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Jan »

Carlo,

ich bin mir jetzt im Moment nicht ganz sicher, ob ich Dich richtig verstehe, oder Du etwas falsch verstehst.

Tom hat natürlich Recht wenn er sagt, das Xbase++ sich selber um die korrekten Konvertierungen kümmert. Aber dazu muß das natürlich wissen, was Du willst. Das, was Xbase++ selber erkennen kann, macht es auch. Manchmal so wild das man sich nicht daggen wehren kann, wie ich sleber mal leidvoll und zeitintensiv erkennen musste.

Bislang musste ich den Bestandteilen von MimeMessage wie Betreff oder Body mitgeben, welchen Zeichensatz das haben soll. Woher sollte der auch wissen, wie ich die Mails versendet haben will? Ich habe also beides beim Einbau in die Mail manuell nach UTF-8 konvertiert.

Jetzt nach der neuen Methode setCharset() muß ich das nicht mehr. Darf das sogar nicht mehr, denn dann würde das doppelt konvertiert werden. Das bedeutet: Ich gebe MimeMesage() mit, welchen Zeichensatz ich will, und der kümert sich selber darum alle relevanten Teile passend zu konvertieren. Egal aus welchem Zeichensatz im Programm die Strings her kommen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Tom »

Jedenfalls sollte es grundsätzlich so sein. Ganz egal, ob man mit ANSI, OEM oder einem anderen Charset arbeitet, Funktionen und Methoden, die im Ergebnis bestimmte Zeichensätze erwarten, werden das konvertieren. Das gilt z.B. für Wrapperfunktionen, die mit der API reden, für das ganze ActiveX-Gedöns usw..

Aber leider auch nicht immer. Die aus den Xbase-Tools importierte Funktion "File()" arbeitet intern mit ANSI, konvertiert aber nicht, wenn sie OEM bekommt. Das muss man berücksichtigen, wenn man noch mit OEM arbeitet. Dasselbe gilt für selbstgebaute Wrapper für DLL-Calls.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Email Versand[ERLEDIGT]

Beitrag von Jan »

Tom,

der XbpFileDialog() hatte das gleiche Problem. Das hat Alaska dann aber mit PDR 7251 korrigiert, nachdem ich darauf hingewiesen hatte.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten