使用TIdSMTP的Connect方法若干次之后,再调用此方法时,程序就陷入了死循环(异常也捕捉不到,也执行不到Connect方法外面的下一条语句,一直在Connect方法里面,出不来),有谁有这方面的处理经验,指点一二阿,谢谢!!
附:
1.idSMTP.Connect(10000)
2.发件人,收件人Email地址均存在。

解决方案 »

  1.   

    調用TIdSMTP.Connect()而已procedure TIdSMTP.Connect(const ATimeout: Integer = IdTimeoutDefault);
    var
      NameToSend : String;
    begin
      inherited;
      try
        GetResponse([220]);
        FAuthSchemesSupported.Clear;
        if Length(FHeloName) > 0 then
          NameToSend := FHeloName
        else
          NameToSend := LocalName;
        if FUseEhlo and (SendCmd('EHLO ' + NameToSend )=250) then begin //APR: user can prevent EHLO    {Do not Localize}
          GetAuthTypes;
        end
        else begin
          SendCmd( 'HELO ' + NameToSend, 250 );    {Do not Localize}
        end;
      except
        Disconnect;
        Raise;
      end;
    end;