System.Net.Mail.SmtpClient client = new SmtpClient();
            client.Host = "smtp.163.com";
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential("我的邮箱用户名", "我的邮箱密码");
            client.DeliveryMethod = SmtpDeliveryMethod.Network;            System.Net.Mail.MailMessage message = new MailMessage("我的邮箱地址", "接收者邮箱地址");
            message.Subject = "测试";
            message.Body = "用自己写的软件发的邮件!";
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = true;            try
            {
                client.Send(message);
               Response.Write("Email successfully send.");
            }
            catch (Exception ex)
            {
                Response.Write("Send Email Failed." + ex.ToString());
            }
为什么总是报:Send Email Failed.System.Net.Mail.SmtpException: 邮箱不可用。这个错误啊?

解决方案 »

  1.   

    这个可能是smtp的问题了 最好连端口也写了!好象那些新注册的油箱是不能使用SMTP这样发送了
    新浪还可以用
      

  2.   

    你的邮箱是新注册的吧?163只有老一点的邮箱才有SMTP发送的功能..
    貌似06年后申请的都没有开SMTP功能
      

  3.   

    在Visual C#中正确使用发送电子邮件相关的对象: 
    (1).要调用对象,当然首先就要在程序的最前面导入封装对象的名称空间,具体如下: 
    using System.Web.Mail ; 
    (2).正确定义MailMessage对象的属性: 
    MailMessage对象中和电子邮件相关的属性可以用下表来表示: 属性名称  代表意义  
    From  源地址  
    To  目的地址  
    Subject  邮件主题  
    Priority  邮件优先级 ( High , Low , Normal )  
    Attachments  附件  
    Bcc  暗送地址  
    Cc  抄送地址  
    Body  邮件内容主体  
    Bodyformat  邮件格式( Html , Text )  
    Bodyencoding  邮件编码( Base64 , Uuencode )  在程序中,具体的实现语句如下: 
    MailMessage aMessage = new MailMessage ( ) ; 
    //新建一个MailMessage对象 
    aMessage.From = FromTextBox.Text ; 
    //定义发信人地址,如果是多人,可以用","分开 
    aMessage.To = ToTextBox.Text ; 
    //定义收信人地址,如果是多人,可以用","分开 
    aMessage.Cc = CCTextBox.Text ; 
    //定义抄送人地址,如果是多人,可以用","分开 
    aMessage.Bcc = BCCTextBox.Text ; 
    //定义暗送人地址,如果是多人,可以用","分开 
    aMessage.Subject = SubjectTextBox.Text ; 
    //定义邮件的主题 
    aMessage.Body = MessageTextBox.Text ; 
    //定义邮件的内容 
    if ( AttachmentTextBox.Text.Length > 0 ) 
    aMessage.Attachments.Add ( new MailAttachment ( AttachmentTextBox.Text , MailEncoding.Base64 ) ) ; 
    //给邮件增加一个附件  
    注:"="右边是程序中定义的文本框的"Text"值。 
    (3).用SmtpMail对象正确发送电子邮件: 
    在Visual C#中调用SmtpMail对象的Send ( )方法有多种方式。本文介绍的只是其中的一种比较常用的调用方式,即:SmtpMail.Send ( MailMessage对象 )。在程序中的实现语句如下:
    SmtpMail.Send ( aMessage ) ; 
    来自:http://developer.51cto.com/art/200509/4133.htm
      

  4.   

    思想:
    1.创建邮件发送客户端实例(需要服务器地址)
    2.创建邮件验证信息(需要name和psw)
    3.创建邮件实例(包括邮件主题,内容,附件等)
    4.发送;
    代码:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net;
    using System.Net.Mail;
    namespace Mail
    {
        class Mail
        {
            private SmtpClient mySmtp = null;
            private MailMessage myMailMessage = null;
            private NetworkCredential myCredential = null; //System.net下
            private Attachment myAttachment = null;
            /// <summary>
            /// 邮件发送方法(张伟波)
            /// </summary>
            /// <param name="host">服务器</param>
            /// <param name="userName">用户名</param>
            /// <param name="password">密码</param>
            /// <param name="mailFrom">发送方</param>
            /// <param name="mailTo">接收方</param>
            /// <param name="mailContent">邮件正文</param>
            /// <param name="mailSubject">邮件主题</param>
            /// <param name="addFile">添加附件</param>
            /// <returns></returns>
            public bool SendMail(string host, string userName, string password, string mailFrom, string mailTo, string mailContent, string mailSubject, string addFile)
            {
                try
                {
                    mySmtp = new SmtpClient(host);      
                    mySmtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    myCredential = new NetworkCredential(userName,password);
                    myMailMessage = new MailMessage(mailFrom,mailTo);
                    myMailMessage.Subject = mailSubject;
                    myMailMessage.Body() = mailContent;
                    if (addFile!="")
                    {
                        myAttachment = new Attachment(addFile);
                        myMailMessage.Attachments.Add(myAttachment);
                    }
                    mySmtp.Send(myMailMessage);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
    }来自:http://student.csdn.net/space.php?uid=40072&do=blog&id=572