Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy 10 HTML-Mailbody mit Anhängen (https://www.delphipraxis.net/159347-indy-10-html-mailbody-mit-anhaengen.html)

Captnemo 24. Mär 2011 10:51

Indy 10 HTML-Mailbody mit Anhängen
 
Hallo Leute,

ich versuche jetzt seit mehreren Tagen mit Indy 10 Mails zu generieren, deren Body als HTML angezeigt wird, und wo beliebige Anhänge dranhängen kann.

Wenn ich einen HTML-Body anzeigen lassen will muß ich ja den Message.Contenttype='text/html' und Message.ContentTransferEncoding:='quoted-printable' setzen, nur dann werden meine Anhänge auch als Text im Mailbody mit angehängt und meine HMTL-Formtierung wird nicht dargestellt..
Wenn ich den Message.Contenttype='multipart/*', damit die Anhänge wirklich auch als Anhang dargestellt wird, dann wird mein Body auch als Anhang dargestellt.

Nur wenn ich Message.Contenttype='text/html' und Message.ContentTransferEncoding:='quoted-printable' verwende, und keine Anhänge anhänge, dann wird es richtig dargestellt.

Weiß einer wie das geht?

rollstuhlfahrer 24. Mär 2011 12:34

AW: Indy 10 HTML-Mailbody mit Anhängen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Du brauchst eine "multipart/*"-Nachricht, der du mehrere Teile anhängst, also z.B. die Anhänge. Die HTML-Mail ist auch nur ein Anhang an die Text-Mail. Der muss aber denke ich mal einen bestimmten Namen (oder gar keinen) haben, dass er auch als solcher erkannt wird.

Bernhard

ADD: Ich hab bei mir eine HTML-Nachricht gefunden:
Anhang 33708

Captnemo 24. Mär 2011 20:31

AW: Indy 10 HTML-Mailbody mit Anhängen
 
Ja, so hatte ich mir das auch schon gedacht.
Nur wie sag ich's indy? ContentTransferEncoding bei Attachments find ich nicht.
Gibt's eigentlich irgendwo ein gutes Beispiel zum Mailhandling mit Indy 10? Wo so der ganze kram mit den verschiedenen Attachments evtl. ersichtlich ist.

Captnemo 25. Mär 2011 12:58

AW: Indy 10 HTML-Mailbody mit Anhängen
 
Für alle die es interessiert, hab ich das jetzt folgerndermaßen gelöst:
Delphi-Quellcode:
    //erstes Attachment als Text
    text:=TIdText.Create(IdMessage1.MessageParts);
    Text.Body.LoadFromFile(temp+'body.txt');
    Text.ContentType:='multipart/alternative';
    Text.ContentTransfer:='quoted-printable';
    Text.ContentDisposition:='inline';
    //zweites Attachment als HTML
    text:=TIdText.Create(IdMessage1.MessageParts);
    Text.Body.LoadFromFile(temp+'body.html');
    Text.ContentType:='text/html';
    Text.ContentTransfer:='quoted-printable';
    Text.ContentDisposition:='inline';
    //jetzt die eigentlichen Attachments
Uses TIdText nicht vergessen. Jetzt wird die Mail in Outlook excakt so dargestellt wir ich es mir vorgestellt habe.
Die eigentlichen Attachments können dann einfach ganz normal danach angefügt werden.

Überigends zur Mailgestalltung nehme ich JvRichEdit und konvertiere anschließend mit JvRichEditToHTML. Bislang keine Probleme damit.
Jetzt geht's an den Mailempfang. Mal sehen, welche Probleme da noch auf mich warten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22: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