各位大侠快来帮忙
代码如下:
if SmtpLogin <> '' then
begin
if SmtpLogin = 'atNone' then
SMTP.AuthenticationType := atNone;
if SmtpLogin = 'atLogin' then
SMTP.AuthenticationType := atLogin;
end
else
SMTP.AuthenticationType := atLogin;
SMTP.UserID := Trim(Uid); //qddmh@sina.com
SMTP.Password := Trim(Password);
SMTP.Host := Trim(Host);
SMTP.Port := strtoint(Port); //25
try
SMTP.Connect;
except
Showmessage('连接SMTP服务器失败!');
Exit;
end;
try
with IdMsgSend do
begin
body.Clear;
Body.Add('this is invoice Detail');//内容
From.Text := Trim(Uid);
// 加入收件人
Recipients.EMailAddresses :=Trim(Receiver);//收件人
TIdAttachment.Create(IdMsgSend.MessageParts, ExtractFilePath(Application.ExeName) + 'Temp/Temp.xls');
Subject:='Invoice detail'//主题
end;
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
当执行到SMTP.Send(IdMsgSend)时报错: Socket Error #10054 Connection Reset by Peer.
此情况只在当本机IP用的外部IP(202.XXX.XXX.XXX)时发生,而通过代理服务器执行时发送成功
我想这种情况应该是已经通过了SMTP验证了,但为什么步成功呢?
帮忙, 美分了。