how to send email wth email template c#

前端 未结 2 505
小蘑菇
小蘑菇 2020-12-12 23:10

suppose i need to send mail to customer with customer detail and his order detail. i have template html data in a html file.customer data is there and as well as order deta

2条回答
  •  悲&欢浪女
    2020-12-12 23:15

    As an alternative to MailDefinition, have a look at RazorEngine https://github.com/Antaris/RazorEngine.

    RazorEngine is a simplified templating framework built around Microsoft's new Razor parsing engine, used in both ASP.NET MVC3 and Web Pages. RazorEngine provides a wrapper and additional services built around the parsing engine to allow the parsing technology to be used in other project types.

    It lets you use razor templates outside of ASP.NET MVC and then write something like this (not tested):

    string template =
    @"
    
    Hi @Model.FirstName @Model.LastName,
    
    Here are your orders: 
    @foreach(var order in Model.Orders) {
        Order ID @order.Id Quantity : @order.Qty @order.Price. 
    }
    
    
    ";
    
    var model = new OrderModel {
        FirstName = "Martin",
        LastName = "Whatever",
        Orders = new [] {
            new Order { Id = 1, Qty = 5, Price = 29.99 },
            new Order { Id = 2, Qty = 1, Price = 9.99 }
        }
    };
    
    string mailBody = Razor.Parse(template, model);
    

提交回复
热议问题