AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Umlaute und Absender in idMessage
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute und Absender in idMessage

Ein Thema von Jumpy · begonnen am 8. Feb 2011 · letzter Beitrag vom 11. Feb 2011
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#1

Umlaute und Absender in idMessage

  Alt 8. Feb 2011, 11:02
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:
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;
Hier der Aufruf der Klasse in einem Form:

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;
Ralph
  Mit Zitat antworten Zitat
 


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 05:44 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