protected void SendButton_Click(object sender, EventArgs e)
    {
        MailMessage mail = new MailMessage();
        mail.From =new MailAddress(this.geter.Text);   //geter是textBox 的ID号,调试是值为[email protected]
        mail.To.Add(new MailAddress(this.senter.Text));   //senter是textBox 的ID号调试是值为[email protected]        mail.Priority = MailPriority.Normal;
        mail.Subject = TalkTitle.Text;    //talkTile是textBox 的ID号
        mail.Body = TalkBody.Text;   //TalkBody是textBox 的ID号
        SmtpClient server=new SmtpClient();
        server.Host = "ms2.hint.net";
        server.Send(mail);
    }
两个邮箱都是真实地址,并且每个Textbox都有值,但是发不出去,错误信息如下:
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法从传输连接中读取数据: net_io_connectionclosed。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.IOException: 无法从传输连接中读取数据: net_io_connectionclosed。源错误: 
行 31:         SmtpClient server=new SmtpClient();
行 32:         server.Host = "ms2.hint.net";
行 33:         server.Send(mail);
行 34:     }
行 35:   
 源文件: e:\C#\ASP.net\MingSheng\Web\E-mail.aspx.cs    行: 33 

解决方案 »

  1.   

    给你部分代码你自己看一下,步骤就这几步       MailClass mc = SetMailInfo();
            if (mc == null)
            {
                return;
            }
            MailMessage send_mail = new MailMessage();
            send_mail.From = new MailAddress(mc.SendMailAdrres, mc.SendMailAddresDiscr);//发件地址
            send_mail.ReplyTo = new MailAddress(mc.MailBack, mc.MailBackDiscription);//收个地址        SmtpClient smtp = new SmtpClient(mc.SendSmtp);//发件件smtp
            smtp.Credentials = new NetworkCredential(mc.SendMailUser, mc.SendMailPwd);//发件帐号、密码认证        send_mail.Subject = mc.SubjectStr;//标题
            string contentTxt = this.Txt_Content.Text.Trim();//正文
            send_mail.SubjectEncoding = Encoding.GetEncoding(mc.Endcode);
            send_mail.BodyEncoding = Encoding.GetEncoding(mc.Endcode);        //html或文本
            send_mail.IsBodyHtml = mc.TxtOrHtml;
            //优先级
            switch (mc.Priority)
            {
                case 0:
                    send_mail.Priority = MailPriority.Normal;
                    break;
                case 1:
                    send_mail.Priority = MailPriority.High;
                    break;
                case 2:
                    send_mail.Priority = MailPriority.Low;
                    break;
            }
      

  2.   

    #region  发送邮件
        /// <summary>
        /// 利用Jmail发送邮件 如果出现失败肯能是防火墙的设置或邮箱服务器错误
        /// </summary>
        /// <param name="tomail">收件人邮箱 如果是过个收件人以;分割</param>
        /// <param name="Title">邮件的主题</param>
        /// <param name="Content">邮件内容</param>
        public static void SendMail(string tomail, string Title, string Content)
        {
            try
            {
                jmail.Message Jmail = new jmail.Message();            //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
                //Jmail.Silent=true;
                //Jmail创建的日志,前提loging属性设置为true
                //Jmail.Logging=true;
                //字符集,缺省为"US-ASCII"
                Jmail.Charset = "GB2312";
                Jmail.Encoding = "GB2312";
                //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
                Jmail.ISOEncodeHeaders = false;//是否将信头编码成iso-8859-1字符集
                Jmail.ContentType = "text/html";
                Jmail.Priority = Convert.ToByte(1);// 优先级
                //添加收件人
                string SendEmail = tomail;
                string fromName = System.Configuration.ConfigurationManager.AppSettings["SendRealName"].ToString();//邮件来自
                //多个邮件接受人
                if (SendEmail.IndexOf(';') > 0)
                {
                    string[] emailArr = SendEmail.Split(';');
                    foreach (string email in emailArr)
                    {
                        if (email != null && !email.Trim().Equals(""))
                        {
                            Jmail.AddRecipient(email, "", "");
                        }
                    }
                }
                else
                {
                    Jmail.AddRecipient(SendEmail, "", "");
                }
                //邮件来自
                Jmail.FromName = fromName;
                //发件人邮箱
                Jmail.From = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
                //发件人邮件用户名
                Jmail.MailServerUserName = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
                //发件人邮件密码
                Jmail.MailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["SendPassword"];
                //设置邮件标题
                Jmail.Subject = Title;
                //邮件内容
                Jmail.Body = Content;
                //Jmail发送的方法
                Jmail.Send(System.Configuration.ConfigurationManager.AppSettings["MailServer"], false);
                Jmail.Close();            HttpContext.Current.Response.Write("<script>alert('邮件发送成功');</script>");        }
            catch
            {
                HttpContext.Current.Response.Write("<script>alert('邮件发送失败,请检查');</script>");
            }
        }
        /// <summary>
        /// 利用Jmail发送邮件
        /// </summary>
        /// <param name="SendEmail">收件人邮箱 如果是过个收件人以;分割</param>
        /// <param name="Title">邮件的主题</param>
        /// <param name="Content">邮件内容</param>
        /// <param name="Attach">邮件中的附件以;分割</param>
        public static void SendMailWithAttach(string SendEmail, string Title, string Content, string Attach)
        {
            try
            {
                jmail.Message Jmail = new jmail.Message();            //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
                //Jmail.Silent=true;
                //Jmail创建的日志,前提loging属性设置为true
                //Jmail.Logging=true;
                //字符集,缺省为"US-ASCII"
                Jmail.Charset = "GB2312";
                //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
                //Jmail.ContentType="text/html";
                //添加收件人
                //多个邮件接受人
                if (SendEmail.IndexOf(';') > 0)
                {
                    string[] emailArr = SendEmail.Split(';');
                    foreach (string email in emailArr)
                    {
                        if (email != null && !email.Trim().Equals(""))
                        {
                            Jmail.AddRecipient(email, "", "");
                        }
                    }
                }
                else
                {
                    Jmail.AddRecipient(SendEmail, "", "");
                }
                string fromName = System.Configuration.ConfigurationManager.AppSettings["SendRealName"].ToString();
                //邮件来自
                Jmail.FromName = fromName;
                Jmail.From = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
                //发件人邮件用户名
                Jmail.MailServerUserName = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
                //发件人邮件密码
                Jmail.MailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["SendPassword"];
                //设置邮件标题
                Jmail.Subject = Title;
                //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
                //Jmail.AddAttachment( "c:\\test.jpg",true,null);
                string[] Attachs = Attach.Split(';');
                for (int i = 0; i < Attachs.Length; i++)
                {
                    if (Attachs[i] != "")
                    {
                        Jmail.AddAttachment(Attachs[i], true, null);
                    }
                }
                //邮件内容
                Jmail.Body = Content;
                //Jmail发送的方法
                Jmail.Send(System.Configuration.ConfigurationManager.AppSettings["MailServer"], false);
                Jmail.Close();
                HttpContext.Current.Response.Write("<script>alert('邮件发送成功');</script>");        }
            catch
            {
                HttpContext.Current.Response.Write("<script>alert('邮件发送失败,请检查');</script>");
            }
        }
        #endregion发送邮件的程序,发件人的邮箱和密码 服务器 都在web.config文件中配置
      

  3.   

    看看邮件服务器是否允许用程序发送,163的新注册邮箱不行,
    建议用天涯的邮件服务器试试:mail.tianya.cn