gpt4 book ai didi

c# - 如何在 asp.net 中显示 html 电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:03 25 4
gpt4 key购买 nike

我正在尝试在 System.Net.Mail.AlternatView 的 Razor View 中显示 html 电子邮件。我似乎无法在互联网上找到任何说明如何执行此操作的内容。 everytihng 与创建电子邮件有关,而不是显示它们。

有人可以帮忙吗?

我一直在尝试这样的事情:

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

我不确定如何提取 html 内容或如何显示它

谢谢

最佳答案

基于此Retrieving AlternateView's of email回答你可以只拥有将流作为字符串获取的功能

   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);

关于c# - 如何在 asp.net 中显示 html 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com