在smtp中,如何处理超时错误???(100分)

  • 主题发起人 主题发起人 vfrog
  • 开始时间 开始时间
V

vfrog

Unregistered / Unconfirmed
GUEST, unregistred user!
我在局域网内做一个邮件发送程序,网络畅通时调试正常。但服务器断开internet网络后,
邮件发送程序就出现错误,显示信息为“host lookup timed out”,程序就死了。服务器
重新连接internet网络,程序也无法正常工作。

经追踪调试,程序是在连接SMTP服务器时出错,可是我加入出错处理也无法解决(按常理应
该没有问题),可是程序在执行出错处理后就停了。请高手多多帮忙。

var
sersmtp,user:string;
ti1:integer;
begin
ti1:=pos('@',e_mail.text);
if ti1>0 then begin
user:=trim(copy(e_mail.text,1,ti1-1));
sersmtp:='smtp.'+trim(copy(e_mail.text,ti1+1,1000));
Nmsmtp1.Host:=sersmtp;
nmsmtp1.Port:=25;
nmsmtp1.UserID:=user;
nmsmtp1.ReportLevel:=1;
Nmsmtp1.TimeOut:=4000;
try
nmsmtp1.Connect;
except //连接smtp出错处理
StatusBar1.SimpleText:='连接失败';
StatusBar1.Refresh ; //如果无法连接internet;执行到此处就停止了 end;
end;

end;
 
后退
顶部