我用DELPHI自带的控键SMTP做了一个批量发送邮件的模块,但是为什么有时候会发送报错?
我调试发现Nmsmtp1.Connect  有时候会连接报错,不知道有什么办法解决,让他发出去!代码如下:
----------------------------
function TDataModule1.emailsend(const MailTo,MailBody:TStringList;strsubject,strattach:string):boolean;
//var
//s:string;      //È¡µÃ×Ö¶ÎÖµ×é³ÉµÄ×Ö·û´®
begin
result:=false;
if (strsendserver='')or(stremail='') then
  begin
    showmessage('·¢ÐÅÈ˵Øַδ֪£¬ÇëÔÚ²ÎÊýÉèÖÃÖÐÉèÖÃÄúµÄµç×ÓÐÅÏäºóÔÙ·¢ËÍ£¡');
    abort;
  end;
 mainfrm.statusbar1.Panels[3].Text:='ÕýÔÚÁ¬½Ó......';
 try
if NMSMTP1.Connected then
   Nmsmtp1.Disconnect;
   Nmsmtp1.Host :=strsendserver;
   nmsmtp1.Port :=25;
   nmsmtp1.UserID :=struseid;//·¢ÐÅÈ˵ÄÓû§Ãû£¬±ØÐëÊÇÕæʵµÄ
   nmsmtp1.ReportLevel :=1;
   Nmsmtp1.TimeOut :=10000;
   nmsmtp1.Connect;  //---报错地方----
  ///Á¬½Ó ²¢½øÐÐÉí·ÝÑéÖ¤
 if AuthSucc=true then ////ÑéÖ¤³É¹¦
  begin
   nmsmtp1.PostMessage.FromAddress:=stremail; //·¢ÐÅÈ˵ĵç×ÓÓʼþµØÖ·
   nmsmtp1.PostMessage.ToAddress :=MailTo;    //ÊÕ¼þÈ˵ĵç×ÓÓʼþµØÖ· £¬¿ÉΪ¶à¸öµØÖ·
   nmsmtp1.PostMessage.Body:=MailBody;        //ÐżþÕýÎÄ
   nmsmtp1.PostMessage.Subject :=strsubject;   //Óʼþ±êÌâ
   if Mailfrm.Edit2.Text<>'' then
    begin
     Mailto.Clear ;
     strattach:=Mailfrm.Edit2.Text;
     Mailto.Add(strattach);  //&Ocirc;&Yacute;&Ecirc;±&Ouml;&raquo;·&cent;&Ograve;&raquo;·&Yacute;&cedil;&frac12;&frac14;&thorn;&pound;&not;&Ograve;&Ocirc;&ordm;ó&iquest;&Eacute;&cedil;&Auml;&frac12;&oslash;&Icirc;&ordf;&Iacute;&not;&Ecirc;±·¨&para;à·&Yacute;&cedil;&frac12;&frac14;&thorn;
     nmsmtp1.PostMessage.Attachments:=MailTo; //&cedil;&frac12;&frac14;&thorn;
    end; 
   nmsmtp1.SendMail;
   mainfrm.statusbar1.Panels[3].Text:='&Oacute;&Ecirc;&frac14;&thorn;·&thorn;&Icirc;&ntilde;&AElig;÷&Aacute;&not;&frac12;&Oacute;&sup3;&Eacute;&sup1;&brvbar;&pound;&iexcl;';
   result:=true;
  end
 else
  begin
   showmessage('&Oacute;&Atilde;&raquo;§&Atilde;&ucirc;&Oacute;&euml;&Atilde;&Uuml;&Acirc;&euml;&sup2;&raquo;·&ucirc;&pound;&not;&Icirc;&THORN;·¨&Iacute;¨&sup1;&yacute;&Eacute;í·&Yacute;&Ntilde;é&Ouml;¤&pound;&iexcl;');
   mainfrm.statusbar1.Panels[3].Text:='&Eacute;í·&Yacute;&Ntilde;é&Ouml;¤&Ecirc;§°&Uuml;&pound;&iexcl;';
  end;
 finally
  mainfrm.statusbar1.Panels[3].Text:='';
 end;
end;
------------------------------------------------------------