我在我们的一个应用程序中遇到了一个问题,即我们的 SMTP 服务器拒绝邮件:
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 虚拟服务器中的会话大小限制。它当前设置为 10240kb,但在增加它之前,我想知道提高限制或完全删除它的含义。通过服务器发送的唯一客户端(应该)受我的组织的控制。
答案1
这意味着每个会话(连接)将允许更多数据,具体取决于您设置的值。因此,与其他限制一起,这决定了每个会话(连接)允许的总数据量(每个会话发送的所有消息的总和)。
答案2
除了上一个答案之外,如果允许在同一会话中发送更多数据,SMTP 服务进程也可能会消耗更多内存。如果您的 SMTP 服务器设置为“存储和转发”(在本地接收和存储消息,将代码发送200
回发送 SMTP 服务器,然后打开与目标 SMTP 服务器的另一个连接),则尤其如此。