как отобразить html-письмо в asp.net
Я пытаюсь удалить html-письмо в представлении razor из System. Net. Mail. AlternatView. I не могу найти в интернете ничего, что говорит, как это сделать. everytihng связан с созданием электронных писем, а не их отображением.
Кто-нибудь может помочь?
Я пробовал такие вещи, как:
@{var stream = Model.AlternateViews[0].ContentStream;
using (StreamReader reader = new StreamReader(stream))
{
Html.Raw(reader.ReadToEnd());
Html.Display(reader.ReadToEnd());
}
Я не уверен, как извлечь содержимое html или как его отобразить, хотя
Спасибо
1 ответ:
На основе этого извлечения AlternateView из электронной почты ответа вы можете просто иметь функцию, чтобы получить поток в виде строки
public string ExtractAlternateView() { var message = new System.Net.Mail.MailMessage(); message.Body = "This is the TEXT version"; //Add textBody as an AlternateView message.AlternateViews.Add( System.Net.Mail.AlternateView.CreateAlternateViewFromString( "This is the HTML version", new System.Net.Mime.ContentType("text/html") ) ); var dataStream = Model.AlternateViews[0].ContentStream; byte[] byteBuffer = new byte[dataStream.Length]; return System.Text.Encoding.ASCII.GetString(byteBuffer, 0, dataStream.Read(byteBuffer, 0, byteBuffer.Length)); }
И затем
ViewBag.Message= string ExtractAlternateView(); @Html.Raw(ViewBag.Message);