简体   繁体   中英

sending big attachments using C# ASP.NET 3.5 System.Net.Mail

I have been trying to send a big attachment (9 MB) using C# ASP.NET 3.5 System.Net.Mail. I read that .NET 4.0 had a bug which doesn't allow this, but .NET 3.5 is fine. .NET 4.0 Fails When sending emails with attachments larger than 3MB

Since .NET 3.5 doesn't close the session properly after an email is sent, I added this line before it's sent:

    smtpClient.ServicePoint.MaxIdleTime = 2; 

The line

    smtpClient.Send(email);

is still throwing this error:

    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)

Changing the encoding doesn't help. This corrupts the attachment:

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

Could someone please help? Thank you.

The server response was: 5.3.4 Error: message file too big:

That tells you everything you need to know: The Server dissallows sending attachments of that size. There's nothing wrong with your code, at least not because of a bug in .NET or something like that. The error message you link related to a bug in .NET is very different from what you are getting. It's unrelated.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM