如何用HTML格式化Asp.net SMTP电子邮件



我正在发送一封SMTP电子邮件,在购买后将订单详细信息发送给客户电子邮件。我已经成功地把它发给了客户,但格式有点奇怪。

以下是它发送给客户电子邮件的输出。

Your order is successful!
------------------------------------------------
Order ID : Order20465230820207quiw< br />Order Date : 8/30/2020< br />Send To : 81,JALAN KENARI MERAH 8
<br />  Kedah< br />  05200< br />Grand Total : 499< br />< br />< br />Thank You for purchasing with us!

但它希望它的格式是这样的:

Your order is successful!
------------------------------------------------
Order ID : Order20465230820207quiw
Order Date : 8/30/2020
Send To : 81,JALAN KENARI MERAH 8
Grand Total : 499
Thank You for purchasing with us!

这是代码:

lblmail.Text = "Your order is succesful! <br />" +
"------------------------------------------------ <br />" +
"Order ID : " + Session["OrderID"].ToString() + "< br />" +
"Order Date : " + Session["orderDate"].ToString() + "< br />" +
"Send To : " + Session["address"].ToString() + "< br />" +
"&nbsp;&nbsp;" + Session["state"].ToString() + "< br />" +
"&nbsp;&nbsp;" + Session["zipcode"].ToString() + "< br />" +
"Grand Total : " + Session["GrandTotal"].ToString() + "< br />" +
"< br />< br />Thank You for purchasing with us!" ;

请注意,我已经启用了HTML,它是带有以下代码的电子邮件正文:

MailMessage mm = new MailMessage();
mm.IsBodyHtml = true;

这里有什么问题?代码看起来不错,但输出不是我所期望的。

您需要添加HTML而不是普通文本

代码

var htmlContent ="<!DOCTYPE html>
<html>
<body>

<h3><p>Your order is successful!</p></h3>
<p>----------------------------------</p>
<p>Order ID : Order20465230820207quiw</p>
<p>Order Date : 8/30/2020</p>
<p>Send To : 81,JALAN KENARI MERAH 8</p>
<p>Grand Total : 499</p>
<p>Thank You for purchasing with us!</p>

</body>
</html>";
using (MailMessage mm = new MailMessage())
{
mm.Body = htmlContent;
mm.IsBodyHtml = true;
}

它与您的邮件功能配合良好

确保HTML标记写得正确"lt;br/>quot;删除空格,这样可以确保服务器不会将其作为文本发送。

< br /> To this <br/>

最新更新