Hallo,
was kommt denn im try except als Fehlermeldung?
Asche auf mein Haupt..., das hatte ich noch garnicht angeschaut.
Ich habs mal schnell nachgeholt, aber es werden keine Meldungen(weder bei Abgabe noch SendMail ausgespuckt, es hängt sich einfach auf.(Task Manager Status: inaktiv)
Delphi-Quellcode:
try
begin
IdSMTP.Send(Mes);
result:=true;
end;
except
begin
result:=false;
end;
end;
Solche Konstrukte sind meiner Meinung nach verantwortungslos.
Wegen der fehlenden Exceptionausgabe, oder weshalb? (Ehrlich interessiert)
In SendMail werden nur Fehler beim IdSMTP.Send(Mes);
abgefangen, aber letztlich ignoriert. Die Fehlerursache könnte aber durchaus auch z. B. beim Attachment := TIdAttachmentFile.Create(Mes.MessageParts,Anhang[i]);
oder beim IdSMTP.Connect;
oder beim IdSMTP.Authenticate;
oder beim ... liegen.
Aus dem Code ist beim besten Willen nicht zu erkennen, was denn hier ggfls. falsch laufen könnte.
Du hast absolut recht, ich habe jetzt entsprechende Fehlerausgaben eingefügt, die jedoch (siehe Antwort auf hoika) nichts ausgespuckt haben.
Zusätzlich habe ich einige Sendmessages verteilt und konnte eingrenzen wo das problem zu liegen scheint
Delphi-Quellcode:
showmessage('4');
IdSMTP.ConnectTimeout:=1000;
showmessage('5');
IdSMTP.Connect;
showmessage('6');
IdSMTP.Authenticate;
showmessage('7');
5 wird noch ausgegeben, 6 nicht mehr.
Du rufst SendMail in Form11 auf; hier ist die Routine in Form2 definiert. Testest Du mit der richtigen
Unit?
Kleiner Übertragungsfehler hier fürs Forum, habs oben korrigiert. Ist die korrekte
Unit. Aber Stimmt, hätte es natürlich sein können.