邮件发送失败.无法将数据写入传输连接

Uma*_*Uma 7 .net smtp

我正在使用Gmail SMTP服务器从VB.Net发送邮件.虽然它发送一些电子邮件很好,但对于其他一些电子邮件它会返回以下错误:

邮件发送失败.无法将数据写入传输连接System.Net.Sockets.SocketException:已建立的连接已被主机中的软件中止

The*_*ebo 19

我最近遇到了同样的问题,SmtpClient.SendMail(MailMessage)反复使用带有350k附件的电子邮件.每33条消息,您发出的错误就会发生.

原来,该封装sendmail的功能并未被拨打我们的共享组件Dispose()SmtpClient时结束的消息发送类.

添加client.Dispose()到SmtpClient实例清除了问题,现在消息没有问题 - 数百个(是的,它们是我们客户的合法产品通知,而不是垃圾邮件);)

  • 听起来像'使用'块的时间.;-) (2认同)

sit*_*nik 4

根据我在网上读到的信息,与此异常相关的 Winsock 错误代码是WSAECONNABORTED

您可以在以下地址阅读更多相关内容以获取解释:WSAECONNABORTED

基本上,这意味着当您的应用程序尝试发送大电子邮件时,服务器关闭了连接。

也许您应该检查 Gmail 文档,看看它是否对邮件大小或发送的邮件总数有一些限制。看来您在套接字上传输了太多数据。

  • 尽管 TheEvilGreebo 的答案包含了我的问题的答案,但您的答案确保了当我搜索“SmtpClient”和“WASECONNABORTED”时,此问答会在 Google 中弹出。所以...也感谢您的回答。:-) (2认同)