C#.NET采用HTML模板发送电子邮件完整实例

2021-04-25 11:14

阅读:674

YPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

标签:poi   none   指定   head   normal   字段   org   isp   win   

本文实例讲述了C#.NET采用HTML模板发送电子邮件的方法,是非常实用的技巧。分享给大家供大家参考。具体方法如下:

要使用html模板进行发送邮件,需要准备以下几项工作:

1)HTML模板

2)替换函数(替换模板中绑定的变量)

3)邮件函数(发送邮件)


一、HTML模板

HTML Report

$USER_NAME$:

My name is $NAME$

This is a Test Email,
$MY_NAME$

其中USER_NAME、NAME、MY_NAME这三个变量用$符号包裹进行标识,是需要被替换的字符串,它会在下面的替换函数中被动态替换。


二、替换函数

/// 
///替换模板中的字段值
/// 
public string ReplaceText(String userName,string name,string myName)
{
  string path = string.Empty;
  path = HttpContext.Current.Server.MapPath("EmailTemplate\\emailTemplate.html");
  if (path == string.Empty)
  {
    return string.Empty;
  }
  System.IO.StreamReader sr = new System.IO.StreamReader(path);
  string str = string.Empty;
  str = sr.ReadToEnd();
  str = str.Replace("$USER_NAME$", userName);
  str = str.Replace("$NAME$", name);
  str = str.Replace("$MY_NAME$",myName);
  return str;
}


三、邮件发送

/// 
/// 发送邮件
/// 
public void SendEmail(string email_from,string email_to, string email_cc, string userName, string name, string myName)
{
  try
  {
 // 建立一个邮件实体
 MailAddress from = new MailAddress(email_from);
 MailAddress to = new MailAddress(email_to);
 MailMessage message = new MailMessage(from, to);
 string strbody = ReplaceText(userName, name, myName);
 if (email_cc.ToString() != string.Empty)
 {
   foreach (string ccs in email_cc.Split(‘;‘))
   {
 MailAddress cc = new MailAddress(ccs);
 message.CC.Add(cc);
   }
 }
 message.IsBodyHtml = true;
 message.BodyEncoding = System.Text.Encoding.UTF8;
 message.Priority = MailPriority.High;
 message.Body = strbody; //邮件BODY内容
 message.Subject = "Subject";
 SmtpClient smtp = new SmtpClient();
 smtp.Host = Configuration.MailHost;
 smtp.Port = Configuration.MailHostPort;
 smtp.Credentials = new System.Net.NetworkCredential(email_from, "emailpassword");
 smtp.Send(message); //发送邮件
  } catch (Exception ex)
  {
 throw ex;
  }
}

其实无论采取什么方式或组件进行邮件发送,要替换HTML模板中的内容,只需一个Replace函数即可。

相信本文所述对大家C#.net程序设计的学习有一定的借鉴价值。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#.NET采用HTML模板发送电子邮件完整实例

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23478.html




相关内容

技术分享图片
C#开发微信门户及应用(2) 微信消息处理和应答
技术分享图片
C#编写ActiveX网页截图控件
技术分享图片
winform简单缓存类实例
技术分享图片
C#中GraphicsPath的Warp方法用法实例

技术分享图片
C#隐藏控制台键盘输入的方法
技术分享图片
C#中的扩展方法详解
技术分享图片
C#实现移除字符串末尾指定字符的方法
技术分享图片
.net实现文件读写的几种常用方法

C#.NET采用HTML模板发送电子邮件完整实例

标签:poi   none   指定   head   normal   字段   org   isp   win   

原文地址:http://www.cnblogs.com/paobuke/p/7919992.html


评论


亲,登录后才可以留言!