【问题标题】:ASP.NET Send .htm file as email templateASP.NET 将 .htm 文件作为电子邮件模板发送
【发布时间】:2011-04-04 22:10:43
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net mailmessage


    【解决方案1】:

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

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

    希望这会有所帮助,

    【讨论】:

      【解决方案2】:

      假设您创建了一个带有标记的 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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-02
        • 2012-12-11
        • 2016-09-15
        • 1970-01-01
        相关资源
        最近更新 更多