AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Mail mit Inline Images und Indy - keine Bildanzeige Smartphone
Thema durchsuchen
Ansicht
Themen-Optionen

Mail mit Inline Images und Indy - keine Bildanzeige Smartphone

Ein Thema von dataspider · begonnen am 3. Feb 2016 · letzter Beitrag vom 4. Feb 2016
Antwort Antwort
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#1

Mail mit Inline Images und Indy - keine Bildanzeige Smartphone

  Alt 3. Feb 2016, 14:39
Hallo

Ich habe ein Problem mit Inline - Images. Ich habe den auf das Wesentliche reduzierten Code angehangen.

Wenn ich die Mail versende, bekomme ich die Bilder in Lotus Notes und Outlook korrekt angezeigt.
Auf meinem Blackberry Leep und auf einem Android - Smartphone werden die Bilder nicht angezeigt.

In der Mail - Klasse kann man meine Versuche ja erkennen. Auch die neue MessageBuilder Klasse liefert nicht das gewünschte Ergebnis.

Ich denke, es fehlt irgendwo noch eine Kodierung (Quoted Printable oder so...).

Vielleicht hat ja schon mal jemand diese Nuss geknackt und hat eine Idee.

Danke

Frank
Angehängte Dateien
Dateityp: zip code.zip (29,4 KB, 29x aufgerufen)
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Mail mit Inline Images und Indy - keine Bildanzeige Smartphone

  Alt 4. Feb 2016, 09:57
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
Frank Reim
  Mit Zitat antworten Zitat
Antwort Antwort


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:46 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