Einzelnen Beitrag anzeigen

MicAlter

Registriert seit: 29. Aug 2007
12 Beiträge
 
#8

Re: IdPOP3, UTF-8 Charset, Umlaute äöü

  Alt 30. Apr 2009, 09:45
Ja, manchmal sieht man ja den Wald vor lauter Bäumen nicht...

Das mit dem CONST ist mir durchgegangen - guter Tipp .

Ich habe beides in eine Funktion gepackt, damit man dieses auf für Text-Attachments benutzen kann. Wenn ich mir die Mail im HTML-Format sende, dann steht im Body (IdMessage.Body.Text) nur:
This is a multi-part message in MIME format. Entsprechend muss zumindest geprüft werden, mit welchem Zeichensatz der HTML-Anhang codiert wurde. Würde also etwa so aussehen:

Delphi-Quellcode:
var TextAttachments : TStringList;
    sCurrentText : WideString;

TextAttachments := TStringList.Create;
try
  for i := 0 to IdMessage.MessageParts.Count-1 do
  begin
    if IdMessage.MessageParts[i] is TIdText then
    begin
      sCurrentText := StrPas( TIdText(IdMessage.MessageParts[i]).Body.Text );
      if Pos( 'utf-8', IdMessage.MessageParts[i].ContentType ) > 0 then
      begin
        sCurrentText := ConvertUTF8( sCurrentText );
      end
      else begin
        //ggf. anderen Zeichensatz konvertieren...
      end;

      TextAttachments.Add( sCurrentText );
    end;
  end;

  //Verarbeite StringList "TextAttachments" mit konvertierten Text-Anlagen
  ...
finally
  FreeAndNil( TextAttachments );
end;
Falls jemand auch mal über dieses Problem stolpern sollte...

lg,
MicAlter
  Mit Zitat antworten Zitat