Einzelnen Beitrag anzeigen

Informatik2012

Registriert seit: 30. Mai 2011
30 Beiträge
 
#1

Prozedur blockiert Programm. Und finde den Fehler nicht.

  Alt 14. Apr 2012, 19:24
Soweit ich rausgefunden habe stürzt das Programm beim Login in den SMTP Server ab.
Delphi-Quellcode:
  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);
beim SendMessage stürzt es ab.
SendMessage ist es wie folgt definiert:
Delphi-Quellcode:
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.
ich probiere den SMTP-Server von googlemail aus.
Als ich probiert hatte mit Web.DE SMTP-Server, kam die Fehlermeldung "bad sequenced commands".
Kann es sein, dass es am SMTP-Server liegt?
  Mit Zitat antworten Zitat