title: encoding to UTF-8 in email
body: <p>I have a client that is receiving email incorrectly encoded.  I am using the System.Net.Mail class and setting the body encoding to UTF-8.  I have done a bit of reading and since I have to set the body of the email as a string encoding the data to a UTF-8 byte array really does nothing for me since I have to convert is back to a string that is UTF-16.  Correct?</p>
  
  <p><strong>when I send:</strong>
  <em>Il s'agit d'un message de test pour déterminer comment le système va gérer les messages envoyés à l'aide des caractères français.
  Merci et bonne journée.</em></p>
  
  <p><strong>They see:</strong> 
  *Il s'agit d'un message de test pour dÃ©terminer comment le systÃ¨me va gÃ©rer les messages envoyÃ©s Ã  l'aide des caractÃ¨res franÃ§ais.</p>
  
  <p>Merci et bonne journÃ©e.*</p>
  
  <p>I have tried different encodings on the email, but I am really suspecting that the client is incorrectly decoding the email since my email client displays this correctly.  Am I missing something?  Is there something else that can be done?</p>
  
  <p>code below</p>
  
  <pre><code>SmtpMailService.SendMail(string.Empty, toAddress, "emailaddress@emai.com", "", subject, sb.ToString(), false);
  
   public static bool SendMail(string fromAddress, string toAddress, string ccAddress, string bccAddress, string subject, string body, bool isHtmlBody)
      {
  
          if (String.IsNullOrEmpty(toAddress)) return false;
          var toMailAddress = new MailAddress(toAddress);
  
          var fromMailAddress = new MailAddress(String.IsNullOrEmpty(fromAddress) ? DefaultFromAddress : fromAddress);
  
          var mailMessage = new MailMessage(fromMailAddress, toMailAddress);
  
          if (!String.IsNullOrEmpty(ccAddress))
          {
              mailMessage.CC.Add(new MailAddress(ccAddress));
          }
  
          if (!String.IsNullOrEmpty(bccAddress))
          {
              mailMessage.Bcc.Add(new MailAddress(bccAddress));
          }
  
          if (!string.IsNullOrEmpty(fromAddress)) mailMessage.Headers.Add("Reply-To", fromAddress);
  
          mailMessage.Subject = subject;
          mailMessage.IsBodyHtml = isHtmlBody;
          mailMessage.Body = body;
          mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
  
          var enableSslCfg = ConfigurationManager.AppSettings["Email.Ssl"];
          var enableSsl = string.IsNullOrEmpty(enableSslCfg) || bool.Parse(enableSslCfg);
          var client = new SmtpClient {EnableSsl = enableSsl};
  
          client.Send(mailMessage);
  
  
          return true;
      }
  </code></pre>