zoukankan      html  css  js  c++  java
  • c# 发送邮件

    发送邮件帮助类

      1 using System;
      2 using System.Net.Mail;
      3 using System.Text;
      4 
      5 namespace Wxlhjc.Public
      6 {
      7     public class SendEmail
      8     {
      9         /// <summary>
     10         /// 发送者
     11         /// </summary>
     12         public string mailFrom { get; set; }
     13 
     14         /// <summary>
     15         /// 收件人
     16         /// </summary>
     17         public string[] mailToArray { get; set; }
     18 
     19         /// <summary>
     20         /// 抄送
     21         /// </summary>
     22         public string[] mailCcArray { get; set; }
     23 
     24         /// <summary>
     25         /// 标题
     26         /// </summary>
     27         public string mailSubject { get; set; }
     28 
     29         /// <summary>
     30         /// 正文
     31         /// </summary>
     32         public string mailBody { get; set; }
     33 
     34         /// <summary>
     35         /// 发件人密码
     36         /// </summary>
     37         public string mailPwd { get; set; }
     38 
     39         /// <summary>
     40         /// SMTP邮件服务器
     41         /// </summary>
     42         public string host { get; set; }
     43 
     44         /// <summary>
     45         /// 正文是否是html格式
     46         /// </summary>
     47         public bool isbodyHtml { get; set; }
     48 
     49         /// <summary>
     50         /// 附件
     51         /// </summary>
     52         public string[] attachmentsPath { get; set; }
     53 
     54         public bool Send()
     55         {
     56             //使用指定的邮件地址初始化MailAddress实例
     57             MailAddress maddr = new MailAddress(mailFrom);
     58             //初始化MailMessage实例
     59             MailMessage myMail = new MailMessage();
     60 
     61 
     62             //向收件人地址集合添加邮件地址
     63             if (mailToArray != null)
     64             {
     65                 for (int i = 0; i < mailToArray.Length; i++)
     66                 {
     67                     myMail.To.Add(mailToArray[i].ToString());
     68                 }
     69             }
     70 
     71             //向抄送收件人地址集合添加邮件地址
     72             if (mailCcArray != null)
     73             {
     74                 for (int i = 0; i < mailCcArray.Length; i++)
     75                 {
     76                     myMail.CC.Add(mailCcArray[i].ToString());
     77                 }
     78             }
     79             //发件人地址
     80             myMail.From = maddr;
     81 
     82             //电子邮件的标题
     83             myMail.Subject = mailSubject;
     84 
     85             //电子邮件的主题内容使用的编码
     86             myMail.SubjectEncoding = Encoding.UTF8;
     87 
     88             //电子邮件正文
     89             myMail.Body = mailBody;
     90 
     91             //电子邮件正文的编码
     92             myMail.BodyEncoding = Encoding.Default;
     93 
     94             myMail.Priority = MailPriority.High;
     95 
     96             myMail.IsBodyHtml = isbodyHtml;
     97 
     98             //在有附件的情况下添加附件
     99             try
    100             {
    101                 if (attachmentsPath != null && attachmentsPath.Length > 0)
    102                 {
    103                     Attachment attachFile = null;
    104                     foreach (string path in attachmentsPath)
    105                     {
    106                         attachFile = new Attachment(path);
    107                         myMail.Attachments.Add(attachFile);
    108                     }
    109                 }
    110             }
    111             catch (Exception err)
    112             {
    113                 throw new Exception("在添加附件时有错误:" + err);
    114             }
    115 
    116             SmtpClient smtp = new SmtpClient();
    117             //指定发件人的邮件地址和密码以验证发件人身份
    118             smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd);
    119 
    120 
    121             //设置SMTP邮件服务器
    122             smtp.Host = host;
    123             smtp.EnableSsl = true;
    124             try
    125             {
    126                 //将邮件发送到SMTP邮件服务器
    127                 smtp.Send(myMail);
    128                 return true;
    129 
    130             }
    131             catch (System.Net.Mail.SmtpException ex)
    132             {
    133                 return false;
    134             }
    135 
    136         }
    137     }
    138 }

    调用方法

     1  /// <summary>
     2         /// 发送密码至邮件
     3         /// </summary>
     4         /// <param password="password">新密码</param>
     5         /// <returns></returns>
     6         public bool SendEmail(string appName, string emailId, string newPassWord)
     7         {
     8             SendEmail email = new SendEmail();
     9             email.mailFrom = "xxxx@163.com";
    10             email.mailPwd = "*******";
    11             email.mailSubject = "找回密码";
    12             string url = "http:/baidu.com";
    13             email.mailBody = "<div style='100%;height:200px;'><div style='font-size:15px;background-color:#FFF1B4;'>您好,您在:<span style='color:#428bca;'>" + appName + "</span>找回密码,请记住验证码:<span>" + newPassWord + ",验证码30分钟内有效。";
    14             email.mailBody += "请打开此链接重设密码:<a href='" + url + "'>'" + url + "'</a>(如果无法点击该URL链接地址,请将它复制并粘帖到浏览器的地址输入框,然后单击回车即可。)</span></div></div>";
    15             email.isbodyHtml = true;    //是否是HTML
    16             email.host = "smtp.163.com";//如果是QQ邮箱则:smtp:qq.com,依次类推
    17             email.mailToArray = new string[] { emailId };//接收者邮件集合
    18             return email.Send();
    19         }
  • 相关阅读:
    【IT笔试面试题整理】字符串的组合
    【IT笔试面试题整理】字符串的排列
    进程与线程的区别?转
    【IT笔试面试题整理】判断一个树是否是另一个的子树
    【IT笔试面试题整理】连续子数组的最大和
    【IT笔试面试题整理】反转链表
    【IT笔试面试题整理】不用加减乘除做加法
    java Singleton 几种方式解析转
    【IT笔试面试题整理】判断链表是否存在环路,并找出回路起点
    【IT笔试面试题整理】删除无序链表中重复的节点
  • 原文地址:https://www.cnblogs.com/pxkuan/p/10042919.html
Copyright © 2011-2022 走看看