전자 메일을 잘못 인코딩하는 클라이언트가 있습니다. System.Net.Mail 클래스를 사용하고 본문 인코딩을 UTF-8로 설정하고 있습니다. 나는 약간의 독해를했기 때문에 전자 메일의 본문을 UTF-8 바이트 배열로 인코딩하는 문자열로 설정해야하므로 변환해야하므로 UTF- 16. 옳은?전자 메일의 UTF-8 인코딩
내가 보낼 때 : 위원장 s'agit 디부 유엔 메시지 드 테스트가 난 보좌관 데 caractères 프랑스어 르 네이 팅 시스템 버지니아 gérer 레 메시지 envoyés 주석을 결정 붓는다. Merci et bon journée.
그들은 참조 : * 김정일 s'agit 디부 유엔 메시지 드 테스트 언급 terminer 다 ©을 부어 르 système 버지니아 조지아 © 총통 레 메시지 envoyà ©의 à 난 보좌관 데 caractères franç ais.
메르 등 봉 journà © 전자. *
내가 이메일에 다른 인코딩을 시도,하지만 난 정말 클라이언트 잘못이 올바르게 내 이메일 클라이언트를 표시하기 때문에 이메일을 디코딩 것을 의심하고있다. 내가 놓친 게 있니? 할 수있는 다른 것이 있습니까?
코드
SmtpMailService.SendMail(string.Empty, toAddress, "[email protected]", "", 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;
}
'누락 된 것이 있습니까?'코드가 표시 될 수 있습니까? – I4V
표시 할 코드가 실제로 없다. 추상적 인 질문이 더 많지만 어쨌든 추가 할 것이다. –
이 메서드에 전달 될 때'body'는 UTF8로 인코딩 된 문자열인가? –