try
            {
                
                string From = "[email protected]";
                string To = "[email protected]";
                string Title = "Net.EMail Test";
                string Body = "Net.EMail Test Body \n" + DateTime.Now.ToString("yyyy-MM-dd hh:mm");                System.Net.Mail.MailMessage netMessage = new System.Net.Mail.MailMessage(From, To);
                
                netMessage.SubjectEncoding = System.Text.Encoding.UTF8;
                netMessage.Subject = Title;
                netMessage.BodyEncoding = System.Text.Encoding.UTF8;
                netMessage.Body = Body;                System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.21cn.com");                
                
                smtp.Credentials = new System.Net.NetworkCredential("abc", "123456");
                
                smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                smtp.Send(netMessage);
            }
            catch (System.Net.Mail.SmtpFailedRecipientException sfrEx)
            {
                MessageBox.Show(sfrEx.Message, "SmtpFailedRecipientException");
            }
            catch (System.Net.Mail.SmtpException sEx)
            {
                MessageBox.Show(sEx.Message, "SmtpException");
            }
请问这样有没有问题???
为什么我总是发不到,总是报错?
而我用.net 1.1 就可以发到try
            {                string From = "[email protected]";
                string To = "[email protected]";
                string Title = "Web.EMail Test";
                string Body = "Web.EMail Test Body \n" + DateTime.Now.ToString("yyyy-MM-dd hh:mm");                System.Web.Mail.MailMessage webMessage = new System.Web.Mail.MailMessage();
                webMessage.From = From;
                webMessage.To = To;
                webMessage.Subject = Title;
                webMessage.BodyEncoding = System.Text.Encoding.UTF8;
                webMessage.Body = Body;                                webMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
                webMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc");
                webMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456");                System.Web.Mail.SmtpMail.SmtpServer = "smtp.21cn.com";
                System.Web.Mail.SmtpMail.Send(webMessage);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }请问那位高手帮我解答一下!

解决方案 »

  1.   

    2.0比1.1改进了,用不着如此麻烦。    Public Class TestEmail
            Inherits System.Net.Mail.MailMessage        Private nwSmtp As String
            Private strFrom As String        Public Sub New()
                nwSmtp = System.Configuration.ConfigurationManager.AppSettings("SmtpServer")
                strFrom = System.Configuration.ConfigurationManager.AppSettings("EmailSender")            BodyEncoding = System.Text.Encoding.UTF8
                IsBodyHtml = True
            End Sub        Public Sub SendEmail()
                Dim client As New System.Net.Mail.SmtpClient(nwSmtp)            client.UseDefaultCredentials = False
                client.Credentials = New System.Net.NetworkCredential(strFrom, "password")
                client.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network            client.Send(strFrom, [To].Item(0).Address, Subject, Body)        End Sub    End Class
      

  2.   

    http://yyw84.cnblogs.com/archive/2006/05/17/402381.html
      

  3.   

    2.0的SmtpClient有改动,你看看MSDN有说明