100分求解!解决立即送分!
1)一台电脑部署在外网,有一个公网固定IP。
2)电脑的防火墙关闭。
3)使用到IdSMTP和IdMessage控件。
4)ping网关(205.227.95.31)可以ping通,但ping IP(205.227.95.32) ping不通(网关和IP不是真实的,就是最后一个数字不一样,前三个一样)。
5)发送邮件代码如下:
procedure TForm1.button1Click(Sender: TObject);
begin
  try
    begin
      SQLStr := 'XXXXXXX order by id asc';
      ADOQuery2.Close;
      ADOQuery2.SQL.Clear;
      ADOQuery2.SQL.Add(SQLStr);
      ADOQuery2.Open;
      i := ADOQuery2.RecordCount;
      if i > 0 then
      begin
        try
          smtp.Host := Trim(Edit8.Text);
          smtp.Username := Trim(Edit5.Text);
          smtp.password := Trim(Edit7.Text);
          smtp.Port := 25;
          MgeSend.Recipients.Clear;
          MgeSend.Recipients.Add.Address := ADOQuery2.FieldByName('mail').AsString;
          if Trim(EDT119.Text) <> '' then
          begin
          MgeSend.Recipients.Add.Address := Trim(EDT119.Text);
          end;
          MgeSend.From.Text := Trim(Edit6.Text);
          MgeSend.Subject := 'hello world!';
          MgeSend.Body.Text := 'hello world';
          MgeSend.CharSet := 'UTF-8';
        finally
        end;
        try
          smtp.Connect();
          smtp.Authenticate;
          smtp.Send(MgeSend);
        finally
          smtp.Disconnect;
        end;
      end;
    end;
  finally
    ADOQuery2.Close;
  end;
end;
连接SQL的IP用公网IP,localhost,127.0.0.1都试过不行。同样的程序放在内网点击BUtton1可以发送邮件。
放在外网的这台电脑上,点击下button1则跳出"Socket Error # 11002",邮件无法发送。请问如何解决?
-----------