c# - IIS SMTP : Exceeded storage allocation response

标签 c# iis iis-6 smtp

大家好。我们正在使用 IIS6 SMTP 服务发送相当多的电子邮件(大约 23k),并且每次都会收到大约 7-8 条错误消息。堆栈跟踪是:

System.Net.Mail.SmtpException: Exceeded storage allocation. The server response was: 4.3.1 Session size exceeds fixed maximum session size
   at System.Net.Mail.DataStopCommand.CheckResponse(SmtpStatusCode statusCode, String serverResponse)
   at System.Net.Mail.DataStopCommand.Send(SmtpConnection conn)
   at System.Net.Mail.SmtpConnection.OnClose(Object sender, EventArgs args)
   at System.Net.ClosableStream.Close()
   at System.Net.Mail.MailWriter.Close()
   at System.Net.Mail.SmtpClient.Send(MailMessage message)

我们的 SMTP 配置是:

Limit message size: 2048k
Limit session size: 20240k
Limit # of messages per connection: 20
Limit # of recipients per message: 100

是否只是调整 session 大小那么简单?如果是这样,推荐什么?我们应该取消选中限制 session 大小吗?

我并不自称是 SMTP 设置方面的专家,但如果我能消除这些错误消息,那似乎是向前迈进了一步。

谢谢

吉姆

最佳答案

吉姆,这似乎是存储所有要发送的临时队列文件的磁盘空间不足。这就是为什么您只看到错误几次的原因。当它发送消息时,我确定它会清理临时文件,为更多文件腾出空间。请记住,您可以比 SMTP 服务器将电子邮件发送到世界的速度快很多很多倍,因此,您可以创建一个 hell 般的队列。

失败的交付也无济于事......

我会查看一个配置选项,该选项设置允许用于临时文件的驱动器空间的限制。

session 限制可能仅适用于与您的 SMTP 服务器的连接,并且只允许在 SMTP 服务器说“哇,伙计......”之前将这么多数据泵入您的 SMTP 服务器。

关于c# - IIS SMTP : Exceeded storage allocation response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/305837/

相关文章:

c# - 在 IIS 中运行的 C# 网站中添加新的 .cs 文件

c# - 如何使用 C# 恢复 IIS 元数据库备份

iis - 缺少授权 header

c# - 仅对一个上下文使用 DbContext

c# - Blazor WASM Net 6 Preview 4 Azure AD - 尝试登录时出错 : 'Cannot read property ' toLowerCase' of undefined'

asp.net - IIS 7 - 尝试身份验证的静态内容

iis - IIS7 中的文件安全(IP 地址访问限制)

windows - IIS 6 突然需要在网站上进行身份验证

c# - 如何捕获配置绑定(bind)异常?

c# - mySQL备份和恢复c#