各位:
   大家好,我在delphi中用IdSMTP1 发送邮件,如果某台电脑加了域,
就能正常发送邮件,如果没有加域,则提示连接服务器失败,具体代码如下:   IdSMTP1.AuthenticationType:=  atLogin;
   IdSMTP1.UserId:='账号名'; 
   IdSMTP1.Password:=密码;
   IdSMTP1.Host:='服务器地址';//'SMTP.163.com';
   IdSMTP1.Port:=25;
   IdSMTP1.Connect;
   IdMessage1.From.Address:='发送地址';
   IdMessage1.Subject:='test'  ;
   //IdMessage1.CCList.Add.Address := '[email protected]';
   IdMessage1.Recipients.EMailAddresses:= '接收地址';
   IdMessage1.Body.Text := 'test youjian' ;
   try
     IdSMTP1.Send(IdMessage1);
   finally
     IdMessage1.Clear;
     IdSMTP1.Disconnect;
     Screen.Cursor:=crDefault;
   end;
请大家帮我分析一下啊?

解决方案 »

  1.   

    这个应该是域安全控制的缘故你用Outlook或Foxmail能发不?
      

  2.   

    to tjianliang:
      用Outlook发邮件是没有问题的,这个难道就没有解决方法吗
      

  3.   

    不在域里面,上网和用outlook发邮件是没有问题的。
      

  4.   

    IdMessage1.From.Address:='发送地址'; 你的程序真的就是这么写的?用的是个格式合理的邮件地址么?
      

  5.   

        试试吧,首先要能PING通'220.181.12.15'   if Mail.Connected then Mail.Disconnect;
           Mail.Username:=''; //发件人用户名
           Mail.Password:=''; //发件人密码
           Mail.Host:='220.181.12.15';  //发件地址
           Mail.Port:=25;      //发送端口
           Mail.AuthenticationType:=atLogin;
           MailMessage.Subject:=' '//标题
           MailMessage.Body.Text:=''//内容
           MailMessage.From.Name:='';     //发件人姓名
           MailMessage.From.Address:='';  //发件人地址
           MailMessage.ReplyTo.EMailAddresses:='';   //发件人地址
           MailMessage.Priority:=TidMessagePriority(1);   //身份验证类型
           MailMessage.Recipients.EMailAddresses:='';  //收件人地址
           //TidAttachment.Create(MailMessage.MessageParts,'路径');  //附件地址
           MailMessage.From.Address:='';     // 发件人地址
         try
           mail.Connect;
           mail.Authenticate;
           mail.Send(MailMessage);
         finally
           mail.Disconnect;
         end;