Autor Beitrag
M. Raab
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: So 01.08.04 09:44 
Hallo NG,

ich versuche zurzeit von DELPHI aus eine Mail mit Anhang zu versenden.

Das Versenden des Mailtextes funzt recht gut --- ich habe mir da was aus der Hilfe von Euch geholt und abgekupfert :lol:

Aber: ich kann keine Dateien anhängen. Kann mir jemand erklären, wie das geht ?

Mein jetziger Code:

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:
59:
60:
61:
62:
63:
  //////////////////////////////////////////
  function IsConnectedToInternet: Boolean;
  begin
    Result := (InternetGetConnectedState(nil, 0))
  end;
  //////////////////////////////////////////


  begin
    if ISConnectedToInternet then
      begin
        if (trim(form6.edit1.text)<>'')and
           (pos('@',form6.edit1.text)>1) then
           begin
             SmtpServerName:='mail.gmx.de';
             SmtpServerPort:=25;
             SmtpServerUser:='....';
             SmtpServerPassword:='....';
             UserEMail:='...';

             with IdMessage1 do
               begin
                 From.Text :=UserEMail; 
                 replyTo.EMailAddresses :=trim(form6.edit1.text);    
                 Recipients.EMailAddresses := '...';
                 Subject := '..
                 ReceiptRecipient.Text :='
... 

                 for anhang:=1 to anzahl do
                  begin
                    // ANHÄNGE anhängen und versenden
                    messageparts.ITEMS[anhang].add;
                    messageparts.Items[anhang].StoredPathName:='MAIL.REC';
                  end; 
              end;


             form6.memo1.Enabled:=false;
             form6.memo1.Lines.Append('');
             form6.memo1.Lines.Append('');
             form6.memo1.Lines.Append(timetostr(time)+'  '+datetostr(date)));
             IdMessage1.Body.Assign(Form6.Memo1.Lines);
             IdSMTP1.Username := SmtpServerUser;
             IdSMTP1.Password := SmtpServerPassword;

             IdSMTP1.Host := SmtpServerName;
             IdSMTP1.Port := SmtpServerPort;

             IdSMTP1.Connect;

             try
               IdSMTP1.Send(IdMessage1);
               form6.close;
             finally
               IdSMTP1.Disconnect
               form6.close;
             end;
           end else begin
             application.messagebox('..');
           end;
      end else begin
        application.messagebox('...');
end;



Entweder kommt beim Kompilieren schon ne Fehlermeldung, dass die Zeile

ausblenden Delphi-Quelltext
1:
messageparts.ITEMS[anhang].add;					


falsch ist, oder (wenn ich sie lösche) die Meldung, dass der Listindex überschritten ist. Mir ist klar, dass ich die einzelnen Indizes zuerst anhängen muss und dass jedem Index die Datei zuordne --- oder so ??? :oops:



Gruss


Markus

_________________
Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: So 01.08.04 10:00 
Schau mal hier: www.delphi-forum.de/topic_28657.html, oder schau gleich mal ins Indy-Demo Verzeichnis und lad die MailClient-Demo. Die Form frmMessageEditor musst Dir genauer anschauen.

raziel

_________________
JSXGraph
M. Raab Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: So 01.08.04 11:57 
Hallo RAZIEL,


ich habe ne Lösung gefunden --- :D :D :D :D :D :D :D :D

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
with IdMessage1 do
  begin
    From.Text :=UserEMail;
    ReplyTo.EMailAddresses :=trim(form6.edit1.text);
    Recipients.EMailAddresses := '....'; 
    Subject := '....'
    ReceiptRecipient.Text := From.Text;
    for anhang:=1 to anzahl do
      TIdAttachment.Create(IdMessage1.MessageParts,dateianhang[anhang]);


In der Variable >dateianhang[..]< stehen die Pfade der einzelnen Dateianhänge.


Gruss


Markus

_________________
Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: So 01.08.04 12:01 
Und jetz rate mal, wie's die Inder in ihrer MailClient-Demo gemacht haben... ;-)

raziel

_________________
JSXGraph
M. Raab Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: So 01.08.04 12:06 
Hallo

die Welt ist klein .... ja ja ich weiß :D :D

Aber: das habe ich selber rausgefunden und deshalb bin ich stolz drauf und ich denke, dass so nun vielen geholfen ist, die im Forum suchen und jetzt auf eine kleine Zeile stoßen...... :D :D :D :D


Gruss


Markus

_________________
Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!