FTransactionComplete:= false;
FRoutingTarget:= RoutingTable.GetRouteInfo(Envelope.RelayHost);
Response:= TRFCReply.Create;
+ TCP:= nil;
FillChar(SMTPExtensions, SizeOf(TSMTPExtensions), #0);
end;
begin
FRoutingTarget.Free;
Response.Free;
+ if TCP <> nil then TCP.Free;
inherited Destroy;
end;
if MXList.Count >= 1 then begin
TCP:= TTCPRFCConnection.Create;
TCP.SetBindAddress(MainServerConfig.BindAddress);
- TCP.Connect(MXList.Strings[0], RelayServerPort);
TCP.SetSockTimeOut(DEF_SOCK_TIMEOUT);
- i:= 1;
+ i:= 0;
while (not TCP.Connected) and (i < MXList.Count) do begin
TCP.Connect(MXList.Strings[i], RelayServerPort);
Inc(i);
end;
Result:= TCP.Connected;
+ if not TCP.Connected then FreeAndNil(TCP);
end
else Result:= false;
MXList.Free;
begin
TCP.SendCommand(SMTP_C_QUIT);
{TCP.ReadResponse(Response);}
- TCP.Free;
+ FreeAndNil(TCP);
end;