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

时间:2010-08-27 16:48:30

标签: c# asp.net mailmessage

您可以使用mailMessage类将.htm文件作为html模板发送吗?我似乎无法解决如何做到这一点?

2 个答案:

答案 0 :(得分:1)

假设您已经创建了一个包含标记的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;

答案 1 :(得分:0)

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

如果你想要一个例子,请看看Drupal如何提供变量,如!username,等等。如果您需要代码示例,请不要犹豫,在此发表评论。

希望这有帮助,