string sEmailAddress="[email protected]";MailMessage mail = new MailMessage(sEmailAddress,sEmailAddress,"This is mail subject ","This is mail body ");
System.Net.NetworkCredential login = new System.Net.NetworkCredential("xxxxxx", "xxxx");
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false;
smtp.Credentials = login;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Host = "smtp.163.com";
smtp.Send(mail);使用以上代码发送邮件提示错误信息:
Mailbox name not allowed.
The server response was:You are not authorized to send mail,authentication is requeired.
麻烦大家帮忙看看是哪里的问题?
另请问MS的控件是否有提供默认的smtp服务器可以使用的?

解决方案 »

  1.   

    换个163的邮箱试试!你用的是163,邮件发hotmail的?
      

  2.   


    晕,就是这个问题。我指定的是163的发件服务器发件人却不是163的。所以没有权限。谢了。
    另请问MS的控件是否有提供默认的smtp服务器可以使用的?
    由于程序最终要交付客户使用。客户嫌要设置太麻烦。如果有不需要验证的SMTP服务器可以使用就好了。
      

  3.   

    用sina的试试前两天写的DemoSystem.Net.Mail.SmtpClient client = new SmtpClient("smtp.vip.sina.com");
    client.UseDefaultCredentials = false;
    client.Credentials = new System.Net.NetworkCredential("[email protected]", "******"); 
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    System.Net.Mail.MailMessage mail = new MailMessage();
    mail.From = new MailAddress("[email protected]"); 
    //     message.To.Add("[email protected]"); 
    mail.To.Add("[email protected]");
    mail.Subject = "testSubject"; 
    mail.BodyEncoding = System.Text.Encoding.Default;    
    mail.Body = "test body"; 
    mail.IsBodyHtml = true;
    client.Send (mail);