title: save System.Net.mail.MailMessage as .msg file
body: <p>I am building an application where i am obligated to create a MailMessage (System.Net.mail.MailMessage) and save it on the disk as .msg extention not .eml</p>
  
  <p>Below is the method i'm using to save a MailMessage as .msg file:</p>
  
  <pre><code>   public static void Save(MailMessage Message, string FileName)
      {
          Assembly assembly = typeof(SmtpClient).Assembly;
          Type _mailWriterType =
            assembly.GetType("System.Net.Mail.MailWriter");
  
          using (FileStream _fileStream =
                 new FileStream(FileName, FileMode.Create))
          {
              // Get reflection info for MailWriter contructor
              ConstructorInfo _mailWriterContructor =
                  _mailWriterType.GetConstructor(
                      BindingFlags.Instance | BindingFlags.NonPublic,
                      null,
                      new Type[] { typeof(Stream) },
                      null);
  
              // Construct MailWriter object with our FileStream
              object _mailWriter =
                _mailWriterContructor.Invoke(new object[] { _fileStream });
  
              // Get reflection info for Send() method on MailMessage
              MethodInfo _sendMethod =
                  typeof(MailMessage).GetMethod(
                      "Send",
                      BindingFlags.Instance | BindingFlags.NonPublic);
  
              // Call method passing in MailWriter
              _sendMethod.Invoke(
                  Message,
                  BindingFlags.Instance | BindingFlags.NonPublic,
                  null,
                  new object[] { _mailWriter, true },
                  null);
  
              // Finally get reflection info for Close() method on our MailWriter
              MethodInfo _closeMethod =
                  _mailWriter.GetType().GetMethod(
                      "Close",
                      BindingFlags.Instance | BindingFlags.NonPublic);
  
              // Call close method
              _closeMethod.Invoke(
                  _mailWriter,
                  BindingFlags.Instance | BindingFlags.NonPublic,
                  null,
                  new object[] { },
                  null);
          }
      }
  </code></pre>
  
  <p>But the saved msg file doesn't open and below is the error:
  <em>"Cannot open file xyz.msg.The file file may not exist, you may not have permission to open it or it may be open by another program...."</em></p>
  
  <p>My question is: <strong>How to save System.Net.mail.MailMessage as msg file?</strong></p>