![]() |
Umlaute und Absender in idMessage
Bei uns werden aus u.a. historischen Gründen unterschiedliche Mailkomponenten verwendet (z.B. auch für untersch. Delphi-Verionen). Damit die aber alle gleich aussehen, sind diese jeweils in einer einfallsreich TMail genannten Klasse gekapselt.
Ich soll nun diese Kapselung für Delphi 10 mit Indy10-Komponenten durchführen. Benutze dazu die Indykomponenten idMessage und idSMTP und habe bei Testmails schon zwei Probleme: a) Der Absendername kommt nicht an, obwohl mMn gesetzt. b) Umlaute im Body werden verschluckt. Zu b): Wirklich verschluckt, d.h. nicht durch ? oder ähnliches ersetzt. Im Betreff/Subject klappt das aber! Habe schon mit CharSet rumprobiert, aber bisher ohne Erfolg. Hier mal die initiallisierung von idMessage:
Delphi-Quellcode:
Hier der Aufruf der Klasse in einem Form:
function TMail.getidMessage: TidMessage;
var i : Integer; begin if self.fidMessage = nil then self.fidMessage := Tidmessage.Create(nil); self.fidMessage.Priority := mpNormal; self.fidMessage.Date:= now; // self.fidMessage.CharSet:= 'ISO-8859-15'; self.fidMessage.From.Text:= Absendername; self.fidMessage.Sender.Text:=Absendername; for i:=0 to FFrom.Count-1 do self.fidMessage.ReplyTo.EMailAddresses := FFrom.Strings[i]; //self.fidMessage.ReplyTo.Assign(FFrom); for i:=0 to FTo.Count-1 do self.fidMessage.Recipients.EMailAddresses := FTo.Strings[i]; //self.fidMessage.Recipients.Assign(FTo); for i:=0 to FBcc.Count-1 do //self.fidMessage.BccList.EMailAddresses := showmessage(FBcc.Strings[i]); //self.fidMessage.BccList.Assign(FBcc); for i:=0 to FCc.Count-1 do self.fidMessage.CcList.EMailAddresses := FCc.Strings[i]; //self.fidMessage.CcList.Assign(FCc); self.fidMessage.Subject:= Betreff; self.fidMessage.Body.Clear; self.fidMessage.Body:= FBody; result:= self.fidMessage; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Mail:TMAIL; begin Mail:=TMail.Create; Mail.An:='mich@zuhause.de'; Mail.Von:='mama@papa.de'; Mail.Absendername:='Max Mustermann'; Mail.Betreff:= 'Hallöchen däs ist ein übeler Straßentest'; Mail.Text:='Hallöchen däs ist ein übeler Straßentest'; Mail.Text:=''; Mail.Text:='Dies ist das Ende'; Mail.Send; Mail.Free; end; |
AW: Umlaute und Absender in idMessage
Das mit dem Absender hat sich erledigt. Man muss dazu wie es scheint den Namen und die Mail-Adresse angeben:
Delphi-Quellcode:
Das seltsame Verhalten mit den Umlauten hab ich immer noch nicht raus. Vor allem, da bei allen ähnl. Problemen die ich im Netz (und hier im Forum) gefunden habe, die Umlaute durch irgendwas ersetzt wurden, statt einfach verschluckt zu werden.
self.fidMessage.From.Text:= AbsenderMail;
self.fidMessage.From.Name:=Absendername; |
AW: Umlaute und Absender in idMessage
Hallo,
konnte das Problem mit den "verschwindenden Umlauten" etwas eingrenzen. Es tritt nur auf, wenn ich im Betreff Umlaute habe. Die werden dann im Betreff richtig angezeigt, im Body aber verschluckt. Sind im Betreff keine Umlaute, so werden die Umlaute im Body nicht verschluckt. Bei dieser Mail mit dem Betreff "test" wurde der Body korrekt angezeigt: Hab hier mal die Mail-Infos und den Body:
Code:
Body:
Microsoft Mail Internet Headers Version 2.0
Received: from V_7_DELPHI ...; Wed, 9 Feb 2011 15:13:13 +0100 From: "Thomas Braun" <ThomasBraun> Subject: test To: schmitt@... Date: Wed, 9 Feb 2011 15:13:10 +0100 Return-Path: ThomasBraun@... Message-ID: <MX01eFXvjQN0hIQFBRO000005b0@...> X-OriginalArrivalTime: 09 Feb 2011 14:13:13.0402 (UTC) FILETIME=[7CF639A0:01CBC863]
Code:
Hier nun lautet der Betreff "täst". Man beachte die Subjekt-Zeile:
Hi du!
Hallöchen däs ist ein übeler Straßentest Dies auch. jo
Code:
Der Body mit verschluckten Umlauten:
Microsoft Mail Internet Headers Version 2.0
Received: from V_7_DELPHI...; Wed, 9 Feb 2011 15:21:09 +0100 From: "Thomas Braun" <ThomasBraun> Subject: =?UTF-8?B?dMOkc3Q=?= To: schmitt@... Date: Wed, 9 Feb 2011 15:21:06 +0100 Return-Path: ThomasBraun@... Message-ID: <MX01d2stb2en0bcaQUX000005b4@...> X-OriginalArrivalTime: 09 Feb 2011 14:21:09.0426 (UTC) FILETIME=[98B1B920:01CBC864]
Code:
Hi du!
Hallchen ds ist ein beler Straentest Dies auch. jo Zusatzinfo: Schick ich beide Mails an meine Privatadresse (web.de) Kommen beide Mail korrekt mit Umlauten an. Kann das nun irgendwie am Outlook/Exchange-Server in der Firma liegen? Muss man da am Outlook oder Server was machen oder kann man die idMessage-Komponente so konfigurieren, dass das egal ist? Kann einer was mit dem Verhalten anfangen? |
AW: Umlaute und Absender in idMessage
Zitat:
|
AW: Umlaute und Absender in idMessage
Haben noch Outlook 2000 SP3.
|
AW: Umlaute und Absender in idMessage
Zitat:
|
AW: Umlaute und Absender in idMessage
Danke schon mal für den Tipp mit Outlook, da bin ich zur Zeit auf Internetrecherche.
Hab z.Zt. aber einen workarround, mit dem ich aber nicht glücklich bin: Ich frage ab, ob ä,ö,ü,ß im Betreff enthalten sind, falls ja stell ich CharSize auf UTF-8, sonst nicht. Würd ich das immmer auf UTF-8 stellen, so werden die Mail-Body-Umlaute durch komische Zeichen ersetzt, wenn im Betreff keine Umlaute sind. Es scheint, dass die idMessage Komponete irgendwie (z.B. wegen Umlauten im Betreff) entscheidet ob irgendwie codiert werden soll und die Mail entsprechend (oder mit entsprechendem Header??) rausschickt. Manche Mailserver (z.B. der unserer Firma) oder Outlook?? scheinen dann damit nicht umgehen zu können. Ist aber nur reine Spekulation, weil ich mich mit den ganzen Codierungen, Mailprotokollen usw. erst sein heute beschäftige und nicht wirklich einen Plan habe. Falls also jemand einen Hinweis hätte was ich noch probieren könnte, immer her damit. |
AW: Umlaute und Absender in idMessage
Wenn du basteln möchtest nimm die Indys
Willst du einfach nur stressfrei Mails versenden nimm synapse |
AW: Umlaute und Absender in idMessage
Guter Tip. Werd ich im Laufe des Tages mal ausprobieren, wobei ich auf der Webseite nicht gesehen habe, ob es mit Win7 und Delphi10 läuft. Mal schauen...
|
AW: Umlaute und Absender in idMessage
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz