次のコードが未加工の Html で電子メールを送信している理由を誰か教えてもらえますか? ページのソースを表示すると、電子メールは次のように表示されます。
添付ファイルとアドレスからのコードを含めないようにコードを切り詰めました。
代替ビューで行を無効にすると、電子メールは正しく表示されますが、プレーン テキスト バージョンも送信したいと考えています。
using (SmtpClient client = GetSmtpClient(settings)) {
using (MailMessage message = new MailMessage()) {
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
message.To.Add(toList);
message.Subject = subject;
message.Body = htmlTemplate;
message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(textTemplate, new ContentType("text/plain")));
client.Send(message);
}
}
編集:メッセージはもともと本文としてテキストを送信し、代替ビューとしてhtmlを送信していましたが、ここで説明されているようにアクセント付きの文字と外国語の文字で問題が発生し、trueに設定したかったためIsBodyHtml
、htmlをメインビューに設定する必要がありました.