0

我想动态创建一封电子邮件并发送它。到目前为止一切顺利,问题在于它是荷兰语,并且无法正确显示。

我正在这样做:

// 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

如何解决?

4

1 回答 1

1

请查看 Outlook 邮件项的 InternetCodepage 属性。我在一封新电子邮件中遇到了类似的问题,我在其中插入了现有电子邮件中的文本,其中德语变音符号没有正确显示。在我将新电子邮件中的 InternetCodepage 设置为原始电子邮件的适当值后,此问题得到解决。有关此属性和可能值列表的详细信息,请参阅http://msdn.microsoft.com/en-us/library/office/ff860730.aspx

于 2012-08-24T07:20:12.370 回答