Senden Sie eine E-Mail mit der Bestätigung über System.Net.Mail
Ich verwende System.Net.Mail, um E-Mails über meine Anwendung zu senden. Ich habe versucht, E-Mails mit den Anhängen mit folgendem Code zu senden.
<code> Collection<string> MailAttachments = new Collection<string>(); MailAttachments.Add("C:\\Sample.JPG"); mailMessage = new MailMessage(); foreach (string filePath in emailNotificationData.MailAttachments) { FileStream fileStream = File.OpenWrite(filePath); using (fileStream) { Attachment attachment = new Attachment(fileStream, filePath); mailMessage.Attachments.Add(attachment); } } SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = SmtpHost; smtpClient.Send(mailMessage); </code>
Wenn ich die E-Mails mit den Anhängen sende, gibt es folgende Ausnahmen.
<code>Cannot access a closed file. at System.IO.__Error.FileNotOpen() at System.IO.FileStream.Read(Byte[] array, Int32 offset, Int32 count) at System.Net.Mime.MimePart.Send(BaseWriter writer) at System.Net.Mime.MimeMultiPart.Send(BaseWriter writer) at System.Net.Mail.Message.Send(BaseWriter writer, Boolean sendEnvelope) at System.Net.Mail.MailMessage.Send(BaseWriter writer, Boolean sendEnvelope) at System.Net.Mail.SmtpClient.Send(MailMessage message) </code>