日期:2014-05-19  浏览次数:20781 次

openSmtp发送邮件的问题(553 错误)
using   OpenSmtp.Mail;

void   Page_Load()
{
        string   MailServer   =   "mail.domain.com ";   //您的smtp服务器的IP或域名
        string   MailUser       =   "user@domain.com ";   //您的邮箱用户名
        string   MailPass       =   "password ";                 //您的密码
        int         MailPort       =   25;                                 //smtp服务器的端口,一般是   25
        string   MailFromName   =   "YourName ";
        //建立   smtp   对象
        OpenSmtp.Mail.Smtp   oSmtp   =   new   OpenSmtp.Mail.Smtp(MailServer,MailUser,MailPass,MailPort);
        //建立信息对象
      OpenSmtp.Mail.MailMessage   msg   =   new   OpenSmtp.Mail.MailMessage();
      //指定发信人
      msg.From   =   new   OpenSmtp.Mail.EmailAddress(MailUser,MailFromName   );
      //添加收件人
      msg.AddRecipient( "receiver@mail.com ",   OpenSmtp.Mail.AddressType.To);
      //设置邮件正文,并指定格式为   html   格式
      msg.HtmlBody   =   "html   mail   body ";
      //设置邮件标题
      msg.Subject     =   "mail   subject ";
      //指定邮件正文的编码
      msg.Charset     =   "gb2312 ";
      //发送邮件
      oSmtp.SendMail(msg);
}


我在使用163邮箱测试时,编译器总是提示“ERROR   -   Expecting:   250.   Recieved:   553   You   are   not   authorized   to   send   mail,   authentication   is   required”
大概意思好像是没有通过身份验证,是不是?
我的用户名和密码都是正确的啊(MailUser必须是邮箱完整名称吗?我都试过了,还是不行),OenSmtp的身份验证不是已经封装在sendMail方法里面了吗?调用时,是自己进行验证的吧,还需要自己编程区控制吗?

大侠     求救

------解决方案--------------------
基本类库应该也可以实现的,参考这里吧
http://systemwebmail.com/
http://www.systemnetmail.com/