2014-02-10 41 views
1

我有一些代碼可以發送電子郵件。電子郵件的數據來自第三方API,看起來像這個å相當於它是丹麥字符å。但電子郵件顯示s å。 有沒有什麼辦法可以改變這個問題來糾正?無法解碼電子郵件的丹麥語字符

我的代碼來發送郵件是這樣

SmtpClient client = new SmtpClient(); 
      System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 
      foreach (string toEmail in toEmails.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) 
       mail.To.Add(toEmail.Trim()); 
      mail.Subject = subject; 
      mail.SubjectEncoding = System.Text.Encoding.UTF8; 
      mail.Body = body; 
      mail.BodyEncoding = System.Text.Encoding.UTF8; 
      mail.IsBodyHtml = isHtml; 
      mail.Priority = MailPriority.Normal; 

      if (attachments != null) 
      { 
       foreach (string key in attachments.Keys) 
       { 
        Attachment mailAttachment = new Attachment(attachments[key], key); 
        mail.Attachments.Add(mailAttachment); 
       } 
      } 
      client.Send(mail); 
      retValue = true; 

注:使用L.B的回答解決了該問題。但我仍然有一些問題,如 enter image description here 這。在我的電子郵件正文

+0

使用哪種實用工具類(HttpUtility/WebUtility) – Jageen

回答

3

使用HttpUtilityWebUtility

var str = HttpUtility.HtmlDecode("å"); 

var str = WebUtility.HtmlDecode("å"); 
+0

您的代碼工作正常它解決的主要問題。但我仍然有一些麻煩。請查看更新後的問題 – Athul

+0

@Athul a)大概你有一個編碼問題,但我不能通過看這個圖像來說什麼b)在得到答案後,用新的需求擴展問題不是一個好的行爲。 –

+0

我非常感謝您所做的一切。但正如你可以看到我的問題從未解決你的答案它只是造成了另一個問題(雖然我知道你的答案是絕對正確的我的問題)。所以請不要說話,因爲我已經延長了這個問題,讓你處於一個糟糕的境地。 – Athul