Delphi 德尔福+;tidstp.Connect+;套接字错误10054-对等方重置连接

Delphi 德尔福+;tidstp.Connect+;套接字错误10054-对等方重置连接,delphi,connection,reset,peer,Delphi,Connection,Reset,Peer,我有一个Delphi应用程序,它使用TidSMTP发送电子邮件。在我们的本地邮件服务器上测试时,它工作正常,但当我将其设置为与外部邮件服务器一起工作时,我收到套接字错误10054-当对等机尝试从l_idSMTP.connect代码行执行时,连接被重置 我已经在同一台机器上设置了我希望用于在Outlook中发送电子邮件的帐户,并且它能够成功发送电子邮件,因此我不确定为什么同一台机器上的Delphi应用程序不能发送电子邮件 下面是我的代码 try l_pConfigurator

我有一个Delphi应用程序,它使用TidSMTP发送电子邮件。在我们的本地邮件服务器上测试时,它工作正常,但当我将其设置为与外部邮件服务器一起工作时,我收到套接字错误10054-当对等机尝试从l_idSMTP.connect代码行执行时,连接被重置

我已经在同一台机器上设置了我希望用于在Outlook中发送电子邮件的帐户,并且它能够成功发送电子邮件,因此我不确定为什么同一台机器上的Delphi应用程序不能发送电子邮件

下面是我的代码

    try
      l_pConfigurator := TConfigurator.Create;
      l_idSMTP.Username := l_pConfigurator.SMTPUser;
      l_idSMTP.Password := l_pConfigurator.SMTPPass;
      l_idSMTP.Host     := l_pConfigurator.SMTPHost;
      l_idSMTP.Port     := strtoint(l_pConfigurator.SMTPPort);
      if l_pConfigurator.SMTPAuth = 'LOGIN' then
      begin
        l_idSMTP.AuthenticationType := atLogin;
      end;
    finally
      FreeAndNil(l_pConfigurator);
    end;

    l_idSMTP.Connect(30000);

    if l_idSMTP.Connected then 
      l_idSMTP.Send(l_idMsg);

非常感谢您的帮助

您是否尝试使用Telnet从命令行发送邮件交互?(您确定Outlook使用SMTP与服务器通信吗?)您使用的是哪个版本的Indy<代码>连接(30000)看起来像Indy 9。在Indy 10中,使用
ConnectTimeout:=30000;连接相反。可能您的ISP/ICP正在阻止TCP端口25I,我将使用Telnet进行测试,并尝试验证Outlook正在使用什么。我用与我的应用程序相同的方式配置Outlook,因此假设它是SMTP是的,我使用的版本是Indy 9