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
Aber: ich kann keine Dateien anhängen. Kann mir jemand erklären, wie das geht ?
Mein jetziger Code:
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 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
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 ???
Gruss
Markus