title: Send email with attchement using System.Net.Mail thows exception: Cannot access a closed file
body: <p>I am using System.Net.Mail to send emails through my application. I was trying to send emails with the attachments with following code.</p>
  
  <pre><code>    Collection&lt;string&gt; MailAttachments = new Collection&lt;string&gt;();
      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></pre>
  
  <p>When I send the emails with the attachments it throw an exceptions as follows.</p>
  
  <pre><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></pre>