Es hat wohl keiner Lust uns den Inhalt der Fehlermeldung zu nennen?
Aber was ist das bitte für eine Speicherschutzbehandulng, mit dem Try Except?
Delphi-Quellcode:
procedure TMSFmDruckeUndExport.MailmitIndy;
var
pBody: TStringList;
pAttachment: TIdAttachmentFile;
begin
pBody := TStringList.Create;
try
//pBody.Clear; ist noch leer
pBody.Add('Hallo');
idsmtp1.Host := 'XXXXXX.XXXXXXX.de';
idsmtp1.Username := 'XXX@XXXXXXXX.de';
idsmtp1.Password := 'XXXXXXXX';
idsmtp1.Port := 25;
idmsg1.Clear;
idmsg1.ClearBody;
idmsg1.ClearHeader;
idmsg1.From.Text := 'bps@bps-nienburg.de';
idmsg1.Sender.Text := 'ich bins';
idmsg1.Recipients.EMailAddresses := 'verkauf@bps-nienburg.de';
idmsg1.Subject := 'testmail';
idmsg1.Body := pBody;
pAttachment := TIdAttachmentFile.Create(idmsg1.MessageParts, 'd:\erntetag2012.jpg');
try
idsmtp1.Connect;
idsmtp1.Send(idmsg1);
idsmtp1.Disconnect();
finally
pAttachment.Free;
end;
finally
pBody.Free;
end;
end;
Und eventuell um Alles noch ein Try-Except drumrum.
Delphi-Quellcode:
try
...
except
on E:
Exception do begin
//ShowMessage(E.Message);
E := '
Fehler beim Versenden der Mail.' + sLineBreak + sLineBreak + E.
Message;
raise;
end;
end;
PS: Was mag wohl passieren, wenn es zwischen dem Try und Except, bei einem der Free knallt?