如何在MVC电子邮件发票

本文关键字:电子邮件 MVC | 更新日期: 2023-09-27 18:03:28

这是我发送邮件的代码,但我想在邮件中发送我的发票视图。

MessageDetails _msg = new MessageDetails();
_msg.Body = "Your Booking is Accepted";
string userId = null;
if (booking.BookedFor != "0")
{ 
    userId = booking.BookedFor;
}
else
{
    userId = booking.UserId;
}
var code = userName.GetUserNameById(Convert.ToInt16(userId));
_msg.Destination = new string[] { code };
_msg.Subject = "Booking Confirmed";
_service.SendEmail(_msg);

如何通过邮件发送发票视图?

如何在MVC电子邮件发票

实际上你不能通过电子邮件发送视图。您需要将视图转换为原始html,然后在messagebody处解析html。

你可以很容易地向razor视图发送参数并生成动态内容

这个方法被我用来将Razor视图转换为HTML

https://stackoverflow.com/a/38322783/5237614

它很容易生成和样式html,也很容易测试

如果你正在使用Razor视图-我认为这样的东西可以帮助你实现你的目标:

//create a view model 
var path = Server.MapPath("~/Relative/Path/To/YourView.cshtml");
var fileContent = System.IO.File.ReadAllText(path);
var result = Razor.Parse(fileContent, yourViewModel);
_msg.Body = result;