का उपयोग करके अटैचमेंट के साथ ईमेल भेजें, मैं अपने आवेदन के माध्यम से ईमेल भेजने के लिए System.Net.Mail का उपयोग कर रहा हूं। मैं अनुलग्नक के साथ निम्नलिखित कोड के साथ ईमेल भेजने की कोशिश कर रहा था।System.Net.Mail
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);
जब मैं अनुलग्नकों के साथ ईमेल भेजता हूं तो यह निम्नानुसार अपवाद फेंक देता है।
using (fileStream)
{
Attachment attachment = new Attachment(fileStream, filePath);
mailMessage.Attachments.Add(attachment);
} // <-- file stream is closed here
हालांकि, धारा stmpClient.Send(mailMessage)
, जहां यह अब और खुला नहीं है के समय में पढ़ा जाता है:
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)
हो गया ... मैंने फ़ाइल स्ट्रीम हटा दी है – udaya726