簡體   English   中英

如何在asp.net中顯示HTML電子郵件

[英]how to display an html email in asp.net

我試圖從System.Net.Mail.AlternatView的剃刀視圖中分發HTML電子郵件。 我似乎無法在互聯網上找到任何說明該操作的信息。 Everytihng與創建電子郵件(而不是顯示電子郵件)有關。

有人可以幫忙嗎?

我一直在嘗試類似的事情:

 @{var stream = Model.AlternateViews[0].ContentStream;
  using (StreamReader reader = new StreamReader(stream))
  {
      Html.Raw(reader.ReadToEnd());
      Html.Display(reader.ReadToEnd());
  }

我不確定如何提取html內容或如何顯示它

謝謝

基於此檢索電子郵件的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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM