为什么我用这段代码发邮件,
老是catch报错:
事务失败。 服务器响应为: <<[email protected]>>: Recipient address rejected: Access denied
            try
            {
                MailAddress from = new MailAddress("[email protected]");
                MailAddress to = new MailAddress("[email protected]");
                MailMessage message = new MailMessage(from, to);
                message.Subject = "test";
                message.Body = "asd";
                message.IsBodyHtml = true;
                message.SubjectEncoding = System.Text.Encoding.Default;
                message.BodyEncoding = System.Text.Encoding.Default;                SmtpClient client = new SmtpClient("smtp.qq.com");
                NetworkCredential smtpuserinfo = new NetworkCredential();
                smtpuserinfo.UserName = "280973534";
                smtpuserinfo.Password = "123456789";
                client.Credentials = smtpuserinfo;
                client.Send(message);
                MessageBox.Show("victory");            }
            catch (Exception ex)
            {
                textBox1.Text = ex.Message;
                return;
            }

解决方案 »

  1.   

    smtp验证方式不对, 下面是个例子, 补上下面三个语句试试(修改成对应的mail的服务器)//设置支持服务器验证  
      mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");  
      //设置用户名  
      mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",username);  
      //设置用户密码  
      mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",password);   
      

  2.   

    这个跟QQ邮件服务器有关,代码没有问题,只要改成163的邮件服务器就可以,可以查查QQ的邮件设置