无法从传输连接中读取数据: net_io_connectionclosed

我使用C# 的System.Net.Maill发送邮件:方法如下

  ///


       /// 发送邮件,经过测试gmail和sina邮箱可以发送成功
       ///

       /// 发送邮件的地址
        /// 发信人显示的名称
        /// 邮件的接收者
        /// 邮件的标题
       /// 邮件的内容
        /// 指定 smtp 服务器地址
       /// 用于登录邮件服务器的用户名
       /// 用于登录邮件服务器的密码
       /// 发送是否成功
        public static bool SendEmail(string sendMail, string sendName, string acceptMail, string title, string body, string smtpHost, string userName, string passWord)
        {
            try
            {
                Encoding encode = Encoding.UTF8;
                SmtpClient smtp = new SmtpClient();
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;//将smtp的出站方式设为 Network   
                //smtp.EnableSsl = true;//smtp服务器是否启用SSL加密    
                smtp.Host = smtpHost;//指定 smtp 服务器地址 
                smtp.Port = 25;//指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去   
                //如果需要认证,则用此的方式   
                //如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了  
                //smtp.UseDefaultCredentials = true;
                smtp.Credentials = new NetworkCredential(userName, passWord);
                MailMessage mail = new MailMessage();
                mail.Priority = MailPriority.High; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可  
                MailAddress ma = new MailAddress(sendMail, sendName, encode);
                //收件方看到的邮件来源;   
                //第一个参数是发信人邮件地址  
                //第二参数是发信人显示的名称   
                //第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码  
                //936是简体中文的codepage值    
                //注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败  
                mail.From = ma;
                //ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信  
                //上面后两个参数的意义, 同 From 的意义    
                mail.ReplyTo = ma;
                //邮件的接收者,支持群发,多个地址之间用(半角逗号)分开  
                mail.To.Add(acceptMail);
                mail.SubjectEncoding = encode;
                mail.Subject = title;
                mail.IsBodyHtml = true;//是否启用html代码  
                mail.BodyEncoding = encode;
                mail.Body = body;
                smtp.Send(mail);
                return true;
            }
            catch (Exception ex)
            {
                mLog.Error(ex.Message);
                return false;
            }
        }

出现如下问题。

无法从传输连接中读取数据: net_io_connectionclosed

 

遇到这个问题原因可能是:邮件服务器不问题,就是不支持一次发送过多邮件或有限制对你的发件地址。可以换一个163的邮箱地址或新浪的邮箱地址试试应该就可以了。

你可能感兴趣的:(asp.net动态网站开发)