这是因为邮件服务器运行的是ESMTP协议,这是一个需要身份验证的协议,.net自带的mail组件不能完成这种验证。建议自己写一个算了,我写过一个VB版本的ESMTP邮件客户端,代码长度数百行即可解决问题。

解决方案 »

  1.   

    MailMessage ms=new MailMessage();
    ms.To=email;
    ms.From="******";
    ms.Subject="您在妃歌精品网的密码";
    ms.Body="密码:";
    ms.BodyFormat=System.Web.Mail.MailFormat.Text;
    ms.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
    ms.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "figsale"); //set your username here
    ms.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "*****");//密码隐去
    SmtpMail.SmtpServer = "smtp.21cn.com";
    SmtpMail.Send(ms);
      

  2.   

    不好意思,排版乱了
    但这段代码绝对可以用,因为我现在就在www.fig168.com上用到
      

  3.   

    问一下楼上的,我怎么没找到mailmessage有fields属性的?要怎么配置阿?
      

  4.   

    对亚 我也没有找到fields这个属性 到底在哪啊?
      

  5.   

    http://www.dotnetjunkies.com/Tutorial/7D8C8892-397A-400B-AD22-188B8F4F53C9.dcik可能是邮件服务器配置问题
      

  6.   

    你找一下利用cdo 和jmail 发邮件的例子,论坛里应该有的~~ 我原来写的哪个就是利用cdo 发的