代码如下:
 public bool Send(IList list)
        {
            MailMessage mail = new MailMessage("[email protected]", list[5].ToString(), "测试邮件", strBody(list));
            mail.IsBodyHtml = true;
            mail.Priority = MailPriority.High;
            mail.BodyEncoding = System.Text.Encoding.UTF8;            SmtpClient client = new SmtpClient("smtp.126.com");
            client.UseDefaultCredentials = true;
            client.Credentials = new System.Net.NetworkCredential("此处填用户名", "在此填密码");
            client.DeliveryMethod = SmtpDeliveryMethod.Network;            try
            {
                client.Send(mail);//在这一行失败..不论我用126的还是用自己的企业邮件都不行,之前我用自己的企业邮箱在.net1.1是可以发送的
                return true;
            }
            catch (SmtpFailedRecipientsException ex)
            {
                return false;                
            }
            finally
            {
                GC.Collect();
            }
        }strBody()是另一个读取邮件正文的私有函数,这个没有问题
我用调试踪过,就是在Send()的时候就报以下错误:不是本地用户;请尝试不同的路径。 服务器响应为: auth error. (ÈÏÖ¤ÓÀ¾Ãʧ°Ü) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Net.Mail.SmtpException: 不是本地用户;请尝试不同的路径。 服务器响应为: auth error. (ÈÏÖ¤ÓÀ¾Ãʧ°Ü)源错误: 
行 32:             try
行 33:             {
行 34:                 client.Send(mail);
行 35:                 return true;
行 36:             }
 

解决方案 »

  1.   

    我用调试踪过,就是在Send()的时候就报以下错误: 不是本地用户;请尝试不同的路径。   服务器响应为:   auth   error.   (ÈÏÖ¤ÓÀ¾Ãʧ°Ü)   
    说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。   异常详细信息:   System.Net.Mail.SmtpException:   不是本地用户;请尝试不同的路径。   服务器响应为:   auth   error.   (ÈÏÖ¤ÓÀ¾Ãʧ°Ü) 源错误:   
    行   32:                           try 
    行   33:                           { 
    行   34:                                   client.Send(mail); 
    行   35:                                   return   true; 
    行   36:                           }