6
Tworzę mailBody poprzezJak ustawić kodowanie na AlternateView
using (var streamWriter = new StreamWriter(fooFileName, false, Encoding.UTF8))
{
streamWriter.Write(fooMessage);
}
teraz jestem zużywa ten plik
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);
Jeśli używam non-przegłosów, wszystko działa W porządku, ale jak tylko używam umlautów w moim alternateView
, ulegają uszkodzeniu.
Jak ustawić kodowanie w alternatywnym widoku, aby wszystko działało?
Bardzo pomocna! Lepiej byłoby użyć 'Encoding.UTF8.HeaderName', ponieważ parametr charset zostanie dodany do nagłówka Content-Type. W tym przypadku 'Encoding.UTF8.WebName' i' Encoding.UTF8.HeaderName' oba zwracają tę samą wartość 'utf-8', więc nie ma to znaczenia. –