我想动态创建电子邮件并发送。到目前为止一直很好,问题在于它是荷兰语并且无法正确显示。
我这样做:
// Body Html
if (!string.IsNullOrEmpty(emailMessage.BodyHtml))
{
var encoding = Encoding.UTF32;
byte[] byteArray = Encoding.GetEncoding("iso-8859-1").GetBytes(emailMessage.BodyHtml);
byte[] unicodeArray = Encoding.Convert(Encoding.GetEncoding("iso-8859-1"), encoding, byteArray);
emailMessage.BodyHtml = encoding.GetString(unicodeArray);
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType();
ct.MediaType = MediaTypeNames.Text.Html;
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(emailMessage.BodyHtml, ct);
mailMessage.AlternateViews.Add(htmlView);
htmlView.TransferEncoding = TransferEncoding.QuotedPrintable;
}
try
{
smtpSender.Send(mailMessage);
}
邮件应包含Financiële details
但是当我打开包含Outlook的邮件时,我会看到Financiele details
如何解决?
答案 0 :(得分:1)
请查看Outlook mailitem的InternetCodepage属性。我在新的电子邮件中遇到了类似的问题,我在其中插入了一封existiing电子邮件中的文本,其中德语的变形金刚没有正确显示。在我将新电子邮件中的InternetCodepage设置为原始电子邮件的适当值后,解决了这个问题。 有关此属性的更多信息以及可能值列表,请参阅http://msdn.microsoft.com/en-us/library/office/ff860730.aspx。