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