![]() |
Prozedur blockiert Programm. Und finde den Fehler nicht.
Soweit ich rausgefunden habe stürzt das Programm beim Login in den SMTP Server ab.
Delphi-Quellcode:
beim SendMessage stürzt es ab.
login_SMTP(SetUp.Username,SetUp.Passwort,SetUp.SMTPServer,SetUp.SMTPPOrt,SMTPSocket); sendMessage(SetUp.Username,SetUp.Passwort,SetUp.SMTPServer,SetUp.SMTPPort,2,SetUp.Username,Edit2.Text,Attachment,toMail,Richedit1,SMTPSocket);
//sendMessage(Username,PW,Server : String;Port, Priority : Integer; fromMail,Betreff: String;Anhang : TStringList;toMail : TStringList;Nachricht : TRichEdit; SMTPSocket : TIdSMTP); logoff_SMTP(SMTPSocket); SendMessage ist es wie folgt definiert:
Delphi-Quellcode:
ich probiere den SMTP-Server von googlemail aus.
function login_SMTP(Username,PW,Server : String;Port : Integer; SMTPSocket : TIdSMTP):boolean;
begin if SMTPSocket.Connected then SMTPSocket.Disconnect(); SMTPSocket.Username := Username; SMTPSocket.Password := PW; SMTPSocket.Port := Port; SMTPSocket.Host := Server; SMTPSocket.AuthType := satDefault; SMTPSocket.Connect; Result := SMTPSocket.Connected; end; procedure logoff_SMTP(SMTPSocket : TIdSMTP); begin SMTPSocket.Disconnect(); end; procedure sendMessage(Username,PW,Server : String;Port, Priority : Integer; fromMail,Betreff: String;Anhang : TStringList;toMail : TStringList;Nachricht : TRichEdit; SMTPSocket : TIdSMTP); var IdNachricht : TIdMessage; i : integer; s : String; IdAnhang : TIdAttachmentFile; begin if login_SMTP(Username,PW,Server,Port,SMTPSocket) = true then begin IdNachricht := TIdMessage.Create(nil); with TIdText.Create(IdNachricht.MessageParts, nil) do begin ContentType := 'text/plain'; Body.Text := Nachricht.Text; end; s := ''; with IdNachricht do begin ContentType := 'multipart/*'; From.Text := fromMail; ReplyTo.EMailAddresses := fromMail; Subject := Betreff; Priority := TIdMessagePriority(Priority); s := BccList.EmailAddresses; for i := 0 to toMail.Count -1 do begin s := s+ toMail.Strings[i]; end; BccList.EMailAddresses := s; end; if Anhang.Count >= 1 then begin for i := 0 to Anhang.Count -1 do IdAnhang := TIdAttachmentFile.Create(IdNachricht.MessageParts,Anhang[i]); // IdAnhang.StoredPathName:=Anhang_Pfad.Strings[i]; // IdAnhang.Filename := Anhang_Datei.Strings[i]; // IdAnhang.OpenLoadStream; // IdAnhang.CloseLoadStream; end; try SMTPSocket.Send(IdNachricht) finally logoff_SMTP(SMTPSocket); end; //SMTPSocket.Free; end; end; end. Als ich probiert hatte mit Web.DE SMTP-Server, kam die Fehlermeldung "bad sequenced commands". Kann es sein, dass es am SMTP-Server liegt? |
AW: Prozedur blockiert Programm. Und finde den Fehler nicht.
Und mit welcher Fehlermeldung stürzt es ab?
|
AW: Prozedur blockiert Programm. Und finde den Fehler nicht.
mit gar keiner. es reagiert einfach nicht mehr.
|
AW: Prozedur blockiert Programm. Und finde den Fehler nicht.
Dann ist es nicht abgestürzt, sondern es reagiert nicht mehr, weil es auf Beendigung der Prozedur wartet.
|
AW: Prozedur blockiert Programm. Und finde den Fehler nicht.
ja okay. das kann sein.
Also muss ich das versuchen über einen Thread zu realisieren, damit das Programm nicht blockiert wird? |
AW: Prozedur blockiert Programm. Und finde den Fehler nicht.
Findest du nicht dass du da doppelmoppelst?
login sendmessage logout und in sendmessage machst du login ... logout |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz