我正在尝试为我的应用发送电子邮件,我的电子邮件主题中有“è”和“é”字符需要发送(重要的是带有重音)
我的身份验证电子邮件正在运行“Bière - Vérificationduemail”,我在我的展望中收到了它。
现在当我发送我的忘记密码电子邮件“Bière - Changement de mot de passe”时,我收到了Bi ?? re - Changement de mot de passe“
我找到了那些编码我的字符串的行,但它没有做任何事情,我得到了相同的显示错误。
private static string GetIsoString(string str)
{
byte[] isobytes = Encoding.GetEncoding("ISO-8859-1").GetBytes(str);
byte[] ubytes = Encoding.Convert(Encoding.GetEncoding("ISO-8859-1"), Encoding.Unicode, isobytes);
return Encoding.Unicode.GetString(ubytes, 0, ubytes.Length);
}
我的MailMessage:
return new MailMessage(_from, to)
{
Subject = subject,
Body = body,
// Tried Encoding.Unicode, UT8, UTF32
SubjectEncoding = Encoding.GetEncoding("ISO-8859-1"),
IsBodyHtml = true
};
我如何发送带有重音的主题而不将其转换为??
// this is my solution... i don't really understand why does it make it work... but tested few times and now i get my accent all the time!
HeadersEncoding = Encoding.UTF8,