Dim MyMail As MailMessage = New MailMessage()
     MyMail.From = sFrom
     MyMail.To = sTo
     MyMail.Subject = sSubject
     MyMail.Body = sBody
     MyMail.Cc = sCc
     MyMail.Bcc = sBcc
     MyMail.UrlContentBase = sUrlContentBase
     MyMail.UrlContentLocation = sUrlContentLocation
     MyMail.BodyEncoding = Encoding.UTF8
     MyMail.BodyFormat = MailFormat.Text
     MyMail.Priority = MailPriority.HighMailPriority.High
     SmtpMail.SmtpServer = sMailServer
     SmtpMail.Send(MyMail)
    以上代码可以正常发送给邮件服务器不需要发件验证的邮箱,当发送给需要发件验证的电子邮件服务器时,就发生如下为题:
   服务器拒绝了发件人地址。服务器响应为: 550 [email protected] is not authorized.(UNAUTHORIZED) 
   请问哪位大虾能给我解惑,有没有微软专家能说说呢?

解决方案 »

  1.   

    CDO.Message  oMsg  =  new  CDO.Message();  
                           oMsg.From  =  FromTextBox.Text  ;  
                           oMsg.To  =  ToTextBox.Text  ;  
                           oMsg.Subject  =  SubjectTextBox.Text  ;  
                           oMsg.TextBody  =  MessageTextBox.Text  ;  
                           oMsg.CC=CCTextBox.Text  ;  
                           oMsg.BCC=BCCTextBox.Text  ;  
                           string  UserName;  
                           string[]  username=new  String[100];  
                           for(int  i=0;i<FromTextBox.Text.Length;i++)  
                           {  
                                       if(FromTextBox.Text[i].ToString()!="@")  
                                       {  
                                                   username[i]=FromTextBox.Text[i].ToString();  
                                                   continue;  
                                       }  
                                       else  
                                                   break;  
                           }  
                           UserName=String.Concat(username);  
                 
                           CDO.IConfiguration  iConfg;      
                           ADODB.Fields  oFields;  
                           iConfg  =  oMsg.Configuration;      
                           oFields  =  iConfg.Fields;  
     
                           oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value=2;    
                           oFields["http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value=FromTextBox.Text.ToString()  ;    
                           oFields["http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress"].Value=FromTextBox.Text.ToString()  ;  
                           oFields["http://schemas.microsoft.com/cdo/configuration/smtpaccountname"].Value=UserName;    
                           oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value=UserName;  
                           oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value=PasswordTextBox.Text.ToString();  
                           oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;    
                           oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="online.sh.cn";                            
                           oFields.Update();  
     
                           try  
                           {              
                                       oMsg.Send();  
                                       oMsg  =  null;  
                                       MessageBox.Show("邮件发送成功!");  
                           }  
                           catch  (Exception  ex)  
                           {  
                                       MessageBox.Show("邮件发送不成功!");  
                           }
      

  2.   

    private void btnSend_Click(object sender, System.EventArgs e)
    {
    //创建MailMessage对象
    MailMessage MyMsg = new MailMessage();
    MyMsg.From = tbFrom.Text;
    MyMsg.To = tbTo.Text;
    MyMsg.Subject = tbSubject.Text;
    MyMsg.Priority = (MailPriority)ddlPriority.SelectedIndex;
    MyMsg.BodyFormat= (MailFormat)ddlBodyFormat.SelectedIndex;
    MyMsg.Body = tbBody.Text;

    //如果有附件则上传
    HttpPostedFile hpfFile = AttachFile.PostedFile;
    if(hpfFile.FileName!="")
    {
    //有附件,则上传到Temp目录中
    //取得文件名(不含路径)
    char[] de = {'\\'};
    string[] AFilename  = hpfFile.FileName.Split(de);
    string strFilename  = AFilename[AFilename.Length-1];
    string strPath = Server.MapPath(".")+"\\Temp\\"+strFilename;
    hpfFile.SaveAs(strPath);
    //添加附件
    MyMsg.Attachments.Add(new MailAttachment(strPath));
    } try
    {
    //发送
    SmtpMail.Send(MyMsg);
    lblShowMsg.Text ="发送成功";
    tbTo.Text = "";
    tbSubject.Text = "";
    tbBody.Text = "";
    ddlPriority.SelectedIndex = 1;
    ddlBodyFormat.SelectedIndex = 0;
    }
    catch(Exception ee)
    {
    lblShowMsg.Text = "发送失败:"+ee.ToString();
    }
    }
      

  3.   

    别忘了引入这个命名空间
    using System.Web.Mail;
      

  4.   

    http://www.systemwebmail.com/default.aspx