我在电子邮件中发送一些HTML正文如下: -
string MessageBody = string.Empty;
MessageBody += "-------------------DO NOT REPLY TO THIS EMAIL-----------------";
MessageBody += "<br/> THIS IS AN AUTO GENERATED EMAIL ";
MessageBody += "<br/><br/>Server IP : " + IPOfServer;
MessageBody += "<br/>Server Time : " + ServerUTCDateTime + "<br/>";
foreach (var item in lstEmailBody)
{
string ErrorInService = (item.pServiceName == "" ? "Preprocessing" : item.pServiceName);
if (!string.IsNullOrEmpty(item.pFileID))
MessageBody += "<br/>Error Details For FileID " + item.pFileID + "<br/>";
else
MessageBody += "<br/>";
MessageBody += @"<table border=1>
<tr>
<td> Service Name </td>
<td> " + ErrorInService + @"</td>
</tr>
<tr>
<td> Error Name </td>
<td> " +item.pErrorMessage+@" </td>
<tr>
</table><br/><br/>";
}
我想让所有电子邮件正文都可配置。
为此,我创建了一个HTML文件,其中我将所有这些标记放在c#函数中并读取HTML文本并替换必要的值。
Eg. string MessageBody = GetBodyFromHTMLTemplate();
MessageBody= MessageBody.Replace("#serverIP",IPOfServer);
但我很困惑,如何在foreach loop
在模板中,我只会得到一个表格: -
<table border=1>
<tr>
<td> Service Name </td>
<td> #ServiceName</td>
</tr>
<tr>
<td> Error Name </td>
<td> #Error Message </td>
</tr>
</table><br/><br/>