отправка больших вложений с использованием C # ASP.NET 3.5 System.Net.Mail - PullRequest
2 голосов
/ 15 февраля 2012

Я пытался отправить большое вложение (9 МБ) с помощью C # ASP.NET 3.5 System.Net.Mail. Я читал, что в .NET 4.0 была ошибка, которая не позволяет этого, но .NET 3.5 в порядке. .NET 4.0 не работает при отправке электронных писем с вложениями размером более 3 МБ

Поскольку .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;

Может ли кто-нибудь помочь, пожалуйста? Спасибо.

1 Ответ

4 голосов
/ 15 февраля 2012

Ответ сервера: 5.3.4 Ошибка: файл сообщения слишком большой:

В нем содержится все, что вам нужно знать: Сервер запрещает отправку вложенийтакого размера.В вашем коде нет ничего плохого, по крайней мере, из-за ошибки в .NET или чего-то подобного.Сообщение об ошибке, связанное с ошибкой в ​​.NET, сильно отличается от того, что вы получаете.Это не связано.

...