8

大家好。我们使用 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

是否像调整会话大小一样简单?如果是这样,有什么推荐的?我们是否应该取消选中限制会话大小?

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

谢谢

吉姆

4

2 回答 2

9

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

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

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

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

于 2009-01-07T22:50:07.833 回答
1

我在 Windows Server 机器上收到了完全相同的错误消息,将“限制消息大小”更改为更大的大小解决了该错误。

在 Windows Server 2012 机器上,您可以使用搜索魅力找到 IIS SMTP 服务器设置并搜索 IIS。在点击消息上,您可以更改消息大小。

于 2016-03-21T13:33:15.110 回答