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

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

  /// <summary>
       /// 发送邮件,经过测试gmail和sina邮箱可以发送成功
       /// </summary>
       /// <param name="sendMail">发送邮件的地址</param>
        /// <param name="sendName">发信人显示的名称 </param>
        /// <param name="acceptMail">邮件的接收者</param>
        /// <param name="title">邮件的标题</param>
       /// <param name="body">邮件的内容</param>
        /// <param name="smtpHost">指定 smtp 服务器地址 </param>
       /// <param name="userName">用于登录邮件服务器的用户名</param>
       /// <param name="passWord">用于登录邮件服务器的密码</param>
       /// <returns>发送是否成功</returns>
        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的邮箱地址或新浪的邮箱地址试试应该就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值