Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTML-Mail erzeugen basierend auf Emsländers Tutorial (https://www.delphipraxis.net/62800-html-mail-erzeugen-basierend-auf-emslaenders-tutorial.html)

Sourcemaker 9. Feb 2006 18:02


HTML-Mail erzeugen basierend auf Emsländers Tutorial
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich habe das Beispiel von Emsländer soweit nachgestellt habe aber
das Problem das die Anhänge zwar beim öffnen der Mail vorhanden und
auch richtig dargestellt werden aber in der Übersicht das Zeichen
Anhang (Büroklammer) nicht angezeigt wird.

Delphi-Quellcode:
IdMsgSend.From.Text                := Trim(edUserId.Text)+' '+Trim(edFromAdress.Text);
      IdMsgSend.ReplyTo.EMailAddresses   := Trim(edFromAdress.Text);
      IdMsgSend.Subject                  := edSubject.Text;
      IdMsgSend.Recipients.Clear;
      if cbESMTP.Checked then
      begin
         for i := 0 to meToAddress.Lines.Count-1 do
            with IdMsgSend.Recipients.Add do
            begin
               Name   := CharRem(#10+#13+';',meToAddress.Lines[i]);
               Address := CharRem(#10+#13+';',meToAddress.Lines[i]);
            end;
      end
      else IdMsgSend.Recipients.EMailAddresses := CharRem(#10+#13,meToAddress.lines.Text);

      IdMsgSend.CCList.Clear;
      if cbESMTP.Checked then
      begin
         for i := 0 to edToCarbonCopy.Lines.Count-1 do
            with IdMsgSend.CCList.Add do
            begin
               Name   := '';
               Address := CharRem(';',edToCarbonCopy.Lines[i]);
            end;
      end
      else IdMsgSend.CCList.EMailAddresses    := edToCarbonCopy.lines.Text;

      IdMsgSend.BccList.Clear;
      if cbESMTP.Checked then
      begin
         for i := 0 to meToBlindCarbonCopy.Lines.Count-1 do
            with IdMsgSend.BccList.Add do
            begin
               Name   := '';
               Address := CharRem(';',meToBlindCarbonCopy.Lines[i]);
            end;
      end
      else IdMsgSend.BccList.EMailAddresses   := meToBlindCarbonCopy.lines.Text;

      IdMsgSend.MessageParts.Clear;
      with TIdText.Create(IdMsgSend.MessageParts, nil) do
         ContentType := 'multipart/related';
      with TIdText.Create(IdMsgSend.MessageParts, nil) do
      begin
         ContentType := 'multipart/alternative';
         ParentPart := 0;
      end;
      with TIdText.Create(IdMsgSend.MessageParts, nil) do
      begin
         Body.Text      := edText.Text;
         CharSet        := 'iso-8859-1';
         ContentTransfer := 'quoted-printable';
         ContentType    := 'text/plain';
         ParentPart     := 1;
      end;
      with TIdText.Create(IdMsgSend.MessageParts, nil) do
      begin
         x := TStringList.Create;
         JvRichEditToHtml.ConvertToHtmlStrings(edText,x);
         Body.Text := x.Text;
         x.Free;
         CharSet        := 'iso-8859-1';
         ContentTransfer := 'quoted-printable';
         ContentType    := 'text/html';
         ParentPart     := 1;
      end;

      IdMsgSend.ContentType := 'multipart/related; type="text/html"';

      for i := 0 to lbAttachment.Items.Count-1 do
         with TIdAttachmentFile.Create(IdMsgSend.MessageParts, CharRem(#10+#13,lbAttachment.Items[i]))                                                do
         begin
            //ContentType := 'application/ms-excel';
            //ParentPart := 1;
         end;

      try
         SMTP.Send(IdMsgSend);
         IdMsgSendSuccess(Sender);
Ich habe auch schon mit den ParentParts gespielt hatte aber auch keinen Erfolg.
Wenn ich das auskommentierte
Delphi-Quellcode:
with TIdText.Create(IdMsgSend.MessageParts, nil) do
      begin
         ContentType := 'multipart/alternative';
         ParentPart := 0;
      end;
und die anderen ParentParts auf 0 setzte wurde zwar der Anhang richtig angezeigt aber auch
gleichzeitig der HTML-Teil ebenfalls als Anhang beigefügt.
Die HTML-Konvertierung mit JvRichEditToHtml.ConvertToHtmlStrings scheint auch nur halb zu
funktionieren da die Fonts um einigen Zeichen versetzt dargestellt werden.

Als Attachment habe ich die entstandene Mail hinzugefügt.

Grüße

Frank

Luckie 9. Feb 2006 18:26

Re: HTML-Mail erzeugen basierend aus Emsländers Tut
 
Wird im Header eventuell das Attachment nicht mit aufgelistet?

Sourcemaker 9. Feb 2006 18:36

Re: HTML-Mail erzeugen basierend aus Emsländers Tut
 
Hi Luckie,

kannst Du Deine Frage präzisieren ?
Meinst Du das jetzt auf den Sourcecode bezogen das ich da etwas vergessen habe
oder meinst Du das Ergebnis (das kannst Du in meinen Attachment sehen) ?
Nach meinen Vergleichen mit anderen Mails sah zumindest die Attachmentsektion
gleich aus.

Grüße

Frank

Luckie 9. Feb 2006 18:40

Re: HTML-Mail erzeugen basierend aus Emsländers Tut
 
Ich meine den E-Mail Header. Wird da das Attachment korrekt eingetragen? Und wird auch bei anderen Clients der Anhang in der Übersicht nicht angezeigt.

Sourcemaker 9. Feb 2006 18:49

Re: HTML-Mail erzeugen basierend aus Emsländers Tut
 
Wenn die Mail mit Outlook Express geöffnet wird sieht sie normal aus nur in der Posteingangs-
übersicht fehlt die Büroklammer.
Zum Testen hatte ich mir die Mail nach web.de gesandt und da wurde zwar die Mailgröße noch richtig angezeigt aber keinerlei Attachment.

Ich hoffe das beantwortet Deine Frage ?

Grüße

Frank

emsländer 19. Feb 2006 21:24

Re: HTML-Mail erzeugen basierend auf Emsländers Tutorial
 
Zitat:

Zitat von Sourcemaker
und die anderen ParentParts auf 0 setzte wurde zwar der Anhang richtig angezeigt aber auch
gleichzeitig der HTML-Teil ebenfalls als Anhang beigefügt.
Die HTML-Konvertierung mit JvRichEditToHtml.ConvertToHtmlStrings scheint auch nur halb zu
funktionieren da die Fonts um einigen Zeichen versetzt dargestellt werden.

Als Attachment habe ich die entstandene Mail hinzugefügt.

Grüße

Frank

Lass mal schön die Finger von den Parents :???: !! Somit verdrehst Du die Mail und die Verschachtelungen klappen nicht mehr. Diese haben mit den Attachements auch nix zu tuen.

und den: //ContentType := 'application/ms-excel'; gibts bei Mail nicht :roll:

ich werd mal was über Mails raussuchen -- so ein paar Tonnen Dokus *ggg*

Als ich anfing dieses Ding zu programmieren, hab ich auch übelst über die Deppen, die das Mailprotokoll gebaut haben geflucht! Da sieht man das das Zeug von *ix Fricklern zusammengebastelt worden ist. Umständlicher gehts nimmer.

Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf