Es scheint jetzt zu funktionieren.
Nachdem mir aufgefallen ist, dass Content-Disposition
hier auch den Dateinamen enthält, habe ich die Mailheader der Inline - Images vor dem Senden noch mal manipuliert:
Delphi-Quellcode:
procedure TSMTPMail.CheckMail(AMail: TIdMessage);
Var
I: Integer;
APart: TIdMessagePart;
AFileName: string;
s: string;
begin
AMail.MessageParts.CountParts;
for I := 0 to AMail.MessageParts.Count - 1 do
begin
APart := AMail.MessageParts[I];
if (APart.ContentDisposition = 'inline') then
begin
s := APart.Headers.Values['Content-ID'];
if s <> '' then
begin
AFileName := Copy(s, 2, Length(s) - 2); // ohne <>
APart.Headers.Values['Content-Disposition'] := 'inline; filename="' +
AFileName + '"';
end;
end;
end;
end;
Damit anstatt nur 'inline' 'inline; filename="image001.jpg"' steht.
Jetzt werden die Bilder auch unter Android und Blackberry
OS angezeigt.
Vielleicht wird es in
Indy ja mal geändert.
Frank