从数据集到电子邮件正文的最佳方式是什么?
我有一个.net控制台应用程序,可根据存储过程的结果发送电子邮件通知,并想知道如何最好地从SQL数据转到电子邮件正文?
带有颜色和字体的html主体是最好的,但纯文本也很好。
感谢。
答案 0 :(得分:1)
怎么样:
渲染为字符串 - 使用类似
的内容var buffer = new StringBuilder(); var tw = new HtmlTextWriter(new StringWriter(buffer))) datagrid.RenderControl(tw); var emailbodyHtmlPart = buffer.ToString();
这当然没有经过测试,但原则上应该有效。
答案 1 :(得分:0)
static string getHTML(DataTable dt) {
StringBuilder myBuilder = new StringBuilder();
myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>");
myBuilder.Append("<tr align='left' valign='top'>");
foreach (DataColumn myColumn in dt.Columns)
{
myBuilder.Append("<td align='left' valign='top'>");
myBuilder.Append(myColumn.ColumnName);
myBuilder.Append("</td>");
}
myBuilder.Append("</tr>");
foreach (DataRow myRow in dt.Rows)
{
myBuilder.Append("<tr align='left' valign='top'>");
foreach (DataColumn myColumn in dt.Columns)
{
myBuilder.Append("<td align='left' valign='top'>");
myBuilder.Append(myRow[myColumn.ColumnName].ToString());
myBuilder.Append("</td>");
}
myBuilder.Append("</tr>");
}
myBuilder.Append("</table>");
return myBuilder.ToString();
}