8 Stimmen

Wie setze ich Encoding auf AlternateView

Ich erstelle einen mailBody über

using (var streamWriter = new StreamWriter(fooFileName, false, Encoding.UTF8))
{
    streamWriter.Write(fooMessage);
}

jetzt verbrauche ich diese Datei mit

var mailMessage = new System.Net.Mail.MailMessage
{
    From = fooSender,
    To =
    {
        fooRecipient
    },
    Subject = fooSubject,
    SubjectEncoding = Encoding.UTF8,
    BodyEncoding = Encoding.UTF8
};
// fooMediaType can be
// - System.Net.Mime.MediaTypeNames.Text.Html
// - System.Net.Mime.MediaTypeNames.Text.Plain
var alternateView = new System.Net.Mail.AlternateView(fooFileName, fooMediaType);
mailMessage.AlternateViews.Add(alternateView);

Wenn ich keine Umlaute verwende, funktioniert alles einwandfrei, aber sobald ich Umlaute in meinem alternateView werden sie gebrochen.

Wie kann ich also eine Art von Kodierung auf dem alternateView einstellen, damit alles funktioniert?

18voto

 var alternateView = new AlternateView(fooFileName, fooMediaType)
 {
      ContentType =
      {
           CharSet = Encoding.UTF8.WebName
      }
 };

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X