KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using a service component through ASP.NET MVC. I would like to send the email in a asynchronous way to let the user do other stuff without having to wait for the sending. When I send a message without attachments it works fine. When I send a message with at least one in-memory attachment it fails. So, I would like to know if it is possible to use an async method with in-memory attachments. Here is the sending method public static void Send() { MailMessage message = new MailMessage("from@foo.com", "too@foo.com"); using (MemoryStream stream = new MemoryStream(new byte[64000])) { Attachment attachment = new Attachment(stream, "my attachment"); message.Attachments.Add(attachment); message.Body = "This is an async test."; SmtpClient smtp = new SmtpClient("localhost"); smtp.Credentials = new NetworkCredential("foo", "bar"); smtp.SendAsync(message, null); } } Here is my current error System.Net.Mail.SmtpException: Failure sending mail. ---> System.NotSupportedException: Stream does not support reading. at System.Net.Mime.MimeBasePart.EndSend(IAsyncResult asyncResult) at System.Net.Mail.Message.EndSend(IAsyncResult asyncResult) at System.Net.Mail.SmtpClient.SendMessageCallback(IAsyncResult result) --- End of inner exception stack trace --- Solution public static void Send() { MailMessage message = new MailMessage("from@foo.com", "to@foo.com"); MemoryStream stream = new MemoryStream(new byte[64000]); Attachment attachment = new Attachment(stream, "my attachment"); message.Attachments.Add(attachment); message.Body = "This is an async test."; SmtpClient smtp = new SmtpClient("localhost"); //smtp.Credentials = new NetworkCredential("login", "passwo
Tags (comma-separated)
Save Edits
Cancel