2

我一直在尝试使用 C# ASP.NET 3.5 System.Net.Mail 发送一个大附件(9 MB)。我读到 .NET 4.0 有一个不允许这样做的错误,但 .NET 3.5 很好。 发送附件大于 3MB 的电子邮件时,.NET 4.0 失败

由于 .NET 3.5 在发送电子邮件后无法正确关闭会话,因此我在发送之前添加了这一行:

    smtpClient.ServicePoint.MaxIdleTime = 2; 

线

    smtpClient.Send(email);

仍然抛出此错误:

    Exceeded storage allocation. The server response was: 5.3.4 Error: message file   too big:   
    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)

更改编码没有帮助。这会破坏附件:

    email.Attachments[0].TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit;

有人可以帮忙吗?谢谢你。

4

1 回答 1

4

服务器响应为:5.3.4 错误:消息文件太大:

这告诉您您需要知道的一切:服务器不允许发送该大小的附件。您的代码没有任何问题,至少不是因为 .NET 中的错误或类似问题。您链接的与 .NET 中的错误相关的错误消息与您得到的非常不同。这是无关的。

于 2012-02-15T14:33:00.397 回答