Autor Beitrag
pesi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 67
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 11:45 
Hallo,
wenn man mal nach HTML Mails googelt wird man recht gut fündig, aber leider basieren alle Ergebnisse auf dem gleichen Beispiel und jedes dieser Beispiele bringt mir einen Fehler:-(
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
procedure TForm1.Button2Click(Sender: TObject);
var
  html: TStrings;
  htmpart, txtpart: TIdText;
  bmppart: TIdAttachment;
  email: TIdMessage;
  filename: string;
begin
  filename := 'u:\callcenter.jpg';

  html := TStringList.Create();
  html.Add('<html>');
  html.Add('<head>');
  html.Add('</head>');
  html.Add('<body><h1>Hello</h1>');
  html.Add('<img src="cid:us.jpg" />');
  html.Add('This is a picture of us!</body>');
  html.Add('</html>');

  email := TIdMessage.Create(nil);
  email.From.Address := 'xxxxx';
  email.Recipients.EMailAddresses := 'xxxxx';
  email.Subject := 'Hello';
  email.ContentType := 'multipart/mixed';
  email.Body.Assign(html);

  txtpart := TIdText.Create(email.MessageParts);
  txtpart.ContentType := 'text/plain';
  txtpart.Body.Text := '';

  htmpart := TIdText.Create(email.MessageParts, html);
  htmpart.ContentType := 'text/html';

  bmppart := TIdAttachment.Create(email.MessageParts,filename);
  bmppart.ContentType := 'image/jpeg';
  bmppart.ContentDisposition := 'inline';
  bmppart.ExtraHeaders.Values['content-id'] := 'us.jpg';
  bmppart.DisplayName := 'us.jpg';


  idSMTP1.Username:='xxxxxxx';
  idSMTP1.Host:='xxxxxxx';

  try
    idSMTP1.Connect();
    try
      idSMTP1.Send(email);
      ShowMessage('Sent');
    except
      on E: Exception do
        ShowMessage('Failed: ' + E.Message);
    end;
  finally
    idSMTP1.Disconnect();
    email.Free();
    html.Free();
  end;
end;

Letztendlich scheitert es bei mir immer an der folgenden Zeile:
ausblenden Delphi-Quelltext
1:
bmppart := TIdAttachment.Create(email.MessageParts,filename);					

Da heißt es immer, dass es zu viele Parameter wären.

Hat jemand eine Idee was da falsch ist???

Danke & Gruß
Peter
P.S.: und NEIN, ich habe keine Ahnung wie man hier im Forum den Quelltext so schick macht wie Ihr das immer macht :-(

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 12.10.2010 um 12:42
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 11:51 
Welche Indy Version nutzt du und für welche Indy Version ist der Code? Ich glaube, da hat sich bei den Parametern was geändert. Guck dir doch einfach mal die Deklaration im Quellcode oder in der Hilfe von den Indys an. Alternativ guck dir mal die Demos zu den Indys an, die bei jeder Version dabei sind.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 12.10.10 12:48 
Moin!

user profile iconpesi hat folgendes geschrieben Zum zitierten Posting springen:
P.S.: und NEIN, ich habe keine Ahnung wie man hier im Forum den Quelltext so schick macht wie Ihr das immer macht :-(
Ganz leicht, im Editor wird:
<span class="inlineSyntax"><span class="codecomment">{PROTECTTAG37004fedb00b76b7cec0fbc5919f6b54}</span></span>dann in der Anzeige zu:
ausblenden Delphi-Quelltext
1:
2:
3:
begin
  // dein Code
end;
Du kannst auch einfach den Code markieren und auf das "+" neben der ComboBox "Delphi" klicken, dann werden die Tags automatisch eingefügt. :idea: ;)

Allerdings war in deinem Beitrag die Anzeige von BB-Codes unterdrückt, ich habe das mal bei dem Beitrag oben korrigiert. Vielleicht solltest du mal deine Einstellungen prüfen. :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Di 12.10.10 12:51 
user profile iconpesi hat folgendes geschrieben Zum zitierten Posting springen:

Letztendlich scheitert es bei mir immer an der folgenden Zeile:
ausblenden Delphi-Quelltext
1:
bmppart := TIdAttachment.Create(email.MessageParts,filename);					



ersetz da mal durch
ausblenden Delphi-Quelltext
1:
TIdAttachmentfile.Create( eMail.MessageParts, filename);					

_________________
mfg. Joel
pesi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 67
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 14:22 
@Narses: Vielen Dank für´s Korregieren und die Tipps!!!

@JoelH: Genau das war´s! Nicht TIdAttachment sondern TIdAttachmentfile!!!

Schon der Hammer, wie sich ein einmal falsches Quellcode-Beispiel im Internet so verbreiten kann (...oder vielleicht war´s ja für eine andere Indy-Version wirklich korrekt?!)

Danke an Alle!!!
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Di 12.10.10 15:21 
user profile iconpesi hat folgendes geschrieben Zum zitierten Posting springen:

Schon der Hammer, wie sich ein einmal falsches Quellcode-Beispiel im Internet so verbreiten kann (...oder vielleicht war´s ja für eine andere Indy-Version wirklich korrekt?!)

Danke an Alle!!!


Die Indyleuten haben da was geändert. Die Indy-Version die bei Delphi7 dabeibei war verwendet den Quellcode den du hier gepostet hast, das ist schon richtig so, bei Delphi 2007 ists der Code den ich dir gepostet hab. Die Delphiversionen dazwischen hab ich nicht. Ich gehe davon aus die Codeänderung war der Sprung von Indy Version 9 auf Version 10.

_________________
mfg. Joel
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 17:45 
Also war meine Vermutung richtig, dass sich was geändert hat. ;)
pesi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 67
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 20:03 
Hi Luckie,
scheint so - hätte mir mit meinem eher eingeschränktem Indy-Wissen aber vermutlich auch nicht direkt weitergeholfen, auf die Lösung wäre ich trotzdem nicht gekommen :oops:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 21:29 
Ich habe dir aber genug Tipps gegeben, zum Beispiel sich mal die zugehörigen Demos angucken.
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Di 12.10.10 21:41 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe dir aber genug Tipps gegeben, zum Beispiel sich mal die zugehörigen Demos angucken.


interessant wäre natürlich welche Möglichkeit dein BDS2006 System bevorzugt.

_________________
mfg. Joel
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 21:50 
Kann ich im Moment nicht nachgucken, ich habe auf den Netbook das BDS2006 nicht installiert-
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 13.10.10 05:49 
user profile iconpesi hat folgendes geschrieben Zum zitierten Posting springen:
scheint so - hätte mir mit meinem eher eingeschränktem Indy-Wissen aber vermutlich auch nicht direkt weitergeholfen, auf die Lösung wäre ich trotzdem nicht gekommen :oops:
Naja, in der entsprechenden Demo zu dem seinerzeit neuen Indy 10 steht das aber genau so, sogar mit entsprechendem Hinweis... :roll:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TfrmMessageEditor.btnAttachmentClick(Sender: TObject);
begin
   if OpenDialog1.Execute then
      begin
//         TIdAttachment.Create(IdMsgSend.MessageParts, OpenDialog1.FileName);
//         TIdAttachment should NO LONGER be used. Use IdAttachmentFile or IdAttachmentFile instead.
         TIdAttachmentFile.Create(IdMsgSend.MessageParts, OpenDialog1.FileName);
         ResetAttachmentListView;
      end;
end;
pesi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 67
Erhaltene Danke: 1



BeitragVerfasst: Do 14.10.10 10:38 
Jaaaa, ich geh mich ja schon in die Ecke und schäme mich eine Runde :(

....aber immerhin hab ich mir bei der Suche nach der Lösung schon Mühe gegeben , nur die Indy-Hilfe/Demos hab ich nicht bemüht. :oops:

DANKE!
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Di 19.10.10 15:58 
Ich habe im Moment ein sehr änliches Problem. ich konnte den Code zwar umschreiben, aber die Anhänge kommen nicht als Anhang an, sondern werden im Text der E-Mail base64 kodiert Dargestellt (sowohl auf GMX als auch in Thunderbird). Und zwar sowohl wenn ich meinen eigenen Code ausführe, als auch wenn ich ein von einer dritten Person erstelltes projekt ausführe, und sogar wenn ich die Indy-Demo ausführe werden die Anhänge als Bas64 kodierter Text dargestellt.

Das Indy10 Demo hatte ausserdem einen Fehler in msgEditor.pas Zeile 103:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
   case SmtpAuthType of
      0: SMTP.AuthType := satNone;
      1: SMTP.AuthType := satDefault; {Simple Login}
   end;


Die beiden "s" haben gefehlt. Kann doch eigentlich nicht wahr sein? Was mache ich falsch, oder ist es normal dass viele Jahre alte Indy-Demos solche Fehler enthalten?

Ich arbeite hier gerade mit Delphi 2010.

//edit okay, falscher Alarm. ContentType war falsch gesetzt, und in dem Demo wird das auch irgendwie merkwürdig verarbeitet. Egal. Trotzdem würde mich der oben genannte Fehler in Zeile 103 interessieren, also falls jemand sich das Demo anschauen mag, irgendwie ist das ja doch mehr als Merkwürdig. :D

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)