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 に答える