C# 发送邮件

//在web.config添加发送邮件的几个重要属性 方便更改

<add key="SendMailName" value=""/>//发件人的用户名
<add key="SendMailPwd" value=""/>//发件人的密码
<add key="SendMailSmtp" value="smtp.163.com"/> //SMTP服务器
<add key="toMailAdminName" value=""/> //收件人地址 如果有多个用","隔开

//添加引用

using System.Net.Mail;

/// <summary>
/// 使用邮箱发送邮件给管理员
/// </summary>
/// <param name="mailStr">邮件内容</param>
public static void SendMailToAdmin(string mailStr)
{
  try
  {
    string sendName = ConfigHelper.ReadAppSettingsValue("SendMailName"); //从web.config里面取发件人的用户名
    string sendPwd = ConfigHelper.ReadAppSettingsValue("SendMailPwd");//从web.config里面取发件人的密码
    string toName = ConfigHelper.ReadAppSettingsValue("toMailAdminName"); //从web.config里面取收件人的地址
    string sendSmtp = ConfigHelper.ReadAppSettingsValue("SendMailSmtp");//SMTP服务器
    if (toName.Length < 1) //判断发送地址是否为空
    {
      return;
    }
    string[] toNameList = toName.Split(',');
    foreach (string item in toNameList)
    {
      SmtpClient _smtpClient = new SmtpClient();
      _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
      _smtpClient.Host = sendSmtp;//指定SMTP服务器
      _smtpClient.Credentials = new System.Net.NetworkCredential(sendName, sendPwd);//用户名和密码
      MailMessage _mailMessage = new MailMessage(
      new MailAddress(sendName, ""),//第一个是发信人的地址,第二个参数是显示发信人的名称
      new MailAddress(item));//收信人邮箱

      _mailMessage.Subject = "";//邮件标题
      _mailMessage.Body = mailStr;//邮件内容
      _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
      _mailMessage.IsBodyHtml = true;//设置为HTML格式
      _mailMessage.Priority = MailPriority.High;//优先级
      _smtpClient.Send(_mailMessage);
  }
}
  catch (Exception)
  {
  }
}

posted @ 2014-11-18 14:57  @睦  阅读(278)  评论(0编辑  收藏  举报