C# 如何从Angular发送包含Json数据的smtp电子邮件(.net Web API)作为正文?
我正在将角度数据(JSON)发布到Web API,我想发送一封包含发布数据的电子邮件C# 如何从Angular发送包含Json数据的smtp电子邮件(.net Web API)作为正文?,c#,json,angularjs,asp.net-web-api,smtp,C#,Json,Angularjs,Asp.net Web Api,Smtp,我正在将角度数据(JSON)发布到Web API,我想发送一封包含发布数据的电子邮件 [HttpPost] public IHttpActionResult Order([FromBody]Order order) { var body = "<p>Order Details: {0}</p><p>{1}</p><p>{2}</p><p>{3}</p><p>
[HttpPost]
public IHttpActionResult Order([FromBody]Order order)
{
var body = "<p>Order Details: {0}</p><p>{1}</p><p>{2}</p><p>{3}</p><p>{4}</p><p>{5}</p>";
MailMessage mail = new MailMessage();
mail.To.Add(new MailAddress("xxx@gmail.com"));
mail.From = (new MailAddress("yyy@gmail.com"));
mail.Subject = "Order from: " + order.Details.FullName;
mail.Body = string.Format(body, order.Details, order.Type1, order.Type2);
mail.IsBodyHtml = true;
using (var smtp = new SmtpClient())
{
smtp.Send(mail);
}
return Ok(order);
}
[HttpPost]
公共IHttpActionResult订单([FromBody]订单)
{
var body=“订单详细信息:{0}{1}{2}{3}{4}{5}”;
MailMessage mail=新的MailMessage();
mail.To.Add(新邮件地址(“xxx@gmail.com"));
mail.From=(新邮件地址(“yyy@gmail.com"));
mail.Subject=“订单发件人:”+Order.Details.FullName;
mail.Body=string.Format(Body,order.Details,order.Type1,order.Type2);
mail.IsBodyHtml=true;
使用(var smtp=new SmtpClient())
{
smtp.发送(邮件);
}
返回Ok(订单);
}
主题显示了正确的全名,但在我收到的电子邮件正文中:
订单详细信息:xyzAPI.Models.Details
System.Collections.Generic.List`1[xyzAPI.Models.Type1]
System.Collections.Generic.List`1[xyzAPI.Models.Type2]
而不是正确的值
我还在IHttpActionResult之后设置了一个断点,我可以按顺序看到正确的值
如果有人能分享我做错了什么,或者更好的是,如何正确地做到这一点 看起来
详细信息是一个类。。。你需要给它一个实际的属性(这就是为什么当你给主题详细信息。FullName
)好的,我有详细信息,但不是Type1或Type2。我在正文(工作)中列出了顺序。详细信息。(所有属性)。正如你们所知,我在顺序中有详细信息作为属性,在顺序中有Type1和Type2作为列表。order是一个复合模型。public类order{public Details Details{get;set;}public List Type1{get;set;}public List Type2{get;set;}