Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET发送.htm文件作为电子邮件模板_C#_Asp.net_Mailmessage - Fatal编程技术网

C# ASP.NET发送.htm文件作为电子邮件模板

C# ASP.NET发送.htm文件作为电子邮件模板,c#,asp.net,mailmessage,C#,Asp.net,Mailmessage,您好,您可以使用mailMessage类发送一个.htm文件作为html模板吗?我似乎不知道该怎么做?我建议您使用String或StringBuilder类,并创建自己的模板子系统。我的意思是,只需将模板内容分配给字符串,并用实际值替换出现的标记 如果您想要一个示例,请查看Drupal如何提供如下变量!用户名,等等。如果您需要代码示例,请在此处发表评论 希望这能有所帮助,假设您创建了一个带有标记的html模板(例如,[[FROM]]]]),那么您需要使用StringBuilder。例如: pub

您好,您可以使用mailMessage类发送一个.htm文件作为html模板吗?我似乎不知道该怎么做?

我建议您使用String或StringBuilder类,并创建自己的模板子系统。我的意思是,只需将模板内容分配给字符串,并用实际值替换出现的标记

如果您想要一个示例,请查看Drupal如何提供如下变量!用户名,等等。如果您需要代码示例,请在此处发表评论


希望这能有所帮助,

假设您创建了一个带有标记的html模板(例如,
[[FROM]]]]
),那么您需要使用StringBuilder。例如:

public static string GetEmailTemplateContent(string path)
{
    string emailHtmlTemplate = "";
    StreamReader rdr = null;
    try
    {
        rdr = new StreamReader(path);
        emailHtmlTemplate = rdr.ReadToEnd();
    }
    catch (IOException ex)
    {
        throw new Exception(ex.Message.ToString());
    }
    finally
    {
        if (rdr != null)
        {
            rdr.Close();
            rdr.Dispose();
        }
    }
    return emailHtmlTemplate;
}
然后,您只需要替换标记并将电子邮件正文填充到更改的模板中

string emailTemplate = GetEmailTemplateContent("C:\\somepath");
emailTemplate = emailTemplate.Replace("[[[FROM]]]", from);
MailMessage email = new MailMessage();
email.Body = emailText;