asp.net 发送邮件 报错
admin 发表于 2010-06-02 | 来源:互联网 | 阅读:

[SocketException (0x2746): 远程主机强迫关闭了一个现有的连接。]
  System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) +1017899
  System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +119

[IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。]
  System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +267
  System.Net.DelegatedStream.Read(Byte[] buffer, Int32 offset, Int32 count) +41
  System.Net.BufferedReadStream.Read(Byte[] buffer, Int32 offset, Int32 count) +96
  System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine) +280
  System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller) +26
  System.Net.Mail.SmtpReplyReader.ReadLine() +13
  System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) +802
  System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) +316
  System.Net.Mail.SmtpClient.GetConnection() +42
  System.Net.Mail.SmtpClient.Send(MailMessage message) +1485

谁能帮帮忙吗.

已经有19 个评论
  1. geqian5 说:

    服务器端侦听开了么?  是不是已经有一个相同的连接没有关闭?

  2. 徐咏波 说:

    新手。 不怎么懂哦

  3. 红烧生鱼片 说:

    关注,做个标示。。

  4. 546914408 说:

    你的发送代码是怎样的?

  5. xiaobao520 说:

    public static int Mail(string address, string subject,string boby,string Mailname,string PassWord,string Host)   {   int i = 0;   try   {   //构造一个发件人地址对象   MailAddress from = new MailAddress(Mailname, "测试", Encoding.UTF8);   //构造一个收件人地址对象   MailAddress to = new MailAddress(address, "测试", Encoding.UTF8);   //构造一个Email的Message对象   MailMessage objMail = new MailMessage(from, to);   objMail.Subject = subject;   //邮件标题编码    objMail.SubjectEncoding = System.Text.Encoding.UTF8;   //邮件内容   objMail.Body = boby;   //邮件内容编码    objMail.BodyEncoding = System.Text.Encoding.UTF8;   objMail.IsBodyHtml = true;   // objMail.Priority=   //用SMTP发送邮件的方式   SmtpClient client = new SmtpClient();   //用户名和密码   client.Host = Host;   client.UseDefaultCredentials = true;   client.Credentials = new System.Net.NetworkCredential(Mailname, PassWord);   client.DeliveryMethod = SmtpDeliveryMethod.Network;   //服务器名       // client.EnableSsl = true;   //发送   client.Send(objMail);   i= 1;   }   catch (Exception ex)   {   throw ex;   }   return i;   }

  6. 15375 说:

    各位前辈 ,大神。

  7. cxjasx 说:

    顶 , 咋没人来嘞

  8. 红烧生鱼片 说:

    怎么这么多人问这问题呢?我就没遇到过,都是一次成功。

  9. 徐咏波 说:

    顶起 ,

  10. 546914408 说:

    用asp.net发送邮件,测试成功2009-11-06 09:07//一:用自己的服务器作为邮件服务器时://如出现:邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for ***@gmail.com//解决办法如下:在IIS中,右击“默认SMTP虚拟服务器”,选择“属性”,切换到“访问”页,点击“中继”按钮,在弹出框中选择“仅以下列表除外”,确定。//二:用其它的邮件服务器发送,经测试大多数免费邮箱都不提供SMTP服务,用qq邮箱的就可以,方法:进入qq邮箱-->设置-->帐户-->开通POP3/IMAP/SMTP服务,即可用smtp.qq.com作为邮件服务器了,可用它来发送邮件using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Net.Mail;public partial class _Default : System.Web.UI.Page{   protected void Page_Load(object sender, EventArgs e)   {   }   public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)   {   System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer);   client.UseDefaultCredentials = false;   client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);   client.DeliveryMethod = SmtpDeliveryMethod.Network;   System.Net.Mail.MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);   message.BodyEncoding = System.Text.Encoding.UTF8;   message.IsBodyHtml = true;   client.Send(message);   }   //第一个参数是邮箱服务器   //第二个参数发件人的帐号   //第三个参数发件人密码   //第四个参数收件人帐号   //第五个参数主题   //第六个参数内容.   protected void Button1_Click(object sender, EventArgs e)   {//发送邮件   try   {   //SendSMTPEMail("nz.oicp.net", "123@nz.oicp.net", "123", "linpc868@163.com", "123", "用asp.net发送邮件,用自己的邮件服务器,测试成功");   SendSMTPEMail("smtp.qq.com", "1013466933@qq.com", "123xxxxxxx", "linpc868@163.com", "123", "用asp.net发送邮件,用qq的smtp.qq.com服务器,测试成功");   }   catch (Exception er)   {   Label1.Text = er.Message;   }   }}  

  11. 风子 说:

    学习了!

  12. xjhuc05 说:

    顶ing

  13. 15375 说:

    好闷呀

  14. aw3fae 说:

    怎么这么多人问这问题呢?我就没遇到过,都是一次成功。这么牛

  15. weiwei 说:

    ASP.NET的没做过,也没遇到过这样的问题,用窗体写过一个邮件群发的小程序。

  16. 96789123 说:

    SmtpFailedRecipientException: 邮箱不可用。 服务器响应为: not local host   按10楼的来 也没用呀 咋了呢、

  17. jc2008_828 说:

    SmtpFailedRecipientException: 邮箱不可用。 服务器响应为: not local host 按10楼的来 也没用呀 咋了呢、二:用其它的邮件服务器发送,经测试大多数免费邮箱都不提供SMTP服务,用qq邮箱的就可以,方法:进入qq邮箱-->设置-->帐户-->开通POP3/IMAP/SMTP服务,即可用smtp.qq.com作为邮件服务器了,可用它来发送邮件

  18. wuwei04 说:

    用公司邮箱 可以发了 我自己发自己 有乱码     我发到别人163邮箱 却没有 怎么回事呢。

  19. yyyy6 说:

    顶起,

我要评论

评论功能因故关闭!

请加入我们的QQ群一起参与讨论:群号59400482(500人超级群)


返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明