首页  ·  知识 ·  编程语言
一个邮件发送类
网友  博客园|  .NET  编辑:德仔   图片来源:网络
public class MailUtil { static
public class MailUtil
   {
       static MailUtil()
       {
           //
           // TODO: 在此处添加构造函数逻辑
           //
       }
       //读取指定URL地址的HTML,用来以后发送网页用
       public static string ScreenScrapeHtml(string url)
       {
           StreamReader reader = new StreamReader(System.Net.WebRequest.Create(url).GetResponse().GetResponseStream());
           string str = reader.ReadToEnd();
           reader.Close();
           return str;
       }
       ///   <summary>
       ///   发送邮件
       ///   </summary>
       ///   <param   name= "server "> smtp地址 </param>
       ///   <param   name= "username "> 用户名 </param>
       ///   <param   name= "password "> 密码 </param>
       ///   <param   name= "from "> 发信人地址 </param>
       ///   <param   name= "to "> 收信人地址 </param>
       ///   <param   name= "subject "> 邮件标题 </param>
       ///   <param   name= "body "> 邮件正文 </param>
       ///    <param   name= "IsHtml "> 是否是HTML格式的邮件 </param>
       public static void SendMail(string from, string to, string subject, string body, string server, string username, string password, bool IsHtml)
       {
           //设置SMTP 验证
         
           SmtpClient mailClient = new SmtpClient(server);
           //表示当前登陆用户的默认凭据进行身份验证,并且包含用户名密码
           mailClient.UseDefaultCredentials = true;
           mailClient.Credentials = new System.Net.NetworkCredential(username, password);
           //指定如何发送电子邮件。
           //Network         电子邮件通过网络发送到   SMTP   服务器。    
           //PickupDirectoryFromIis   将电子邮件复制到挑选目录,然后通过本地   Internet   信息服务   (IIS)   传送。    
           //SpecifiedPickupDirectory 将电子邮件复制到 SmtpClient.PickupDirectoryLocation 属性指定的目录,然后由外部应用程序传送。   
           mailClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

           //创建邮件对象
           MailMessage mailMessage = new MailMessage(from, to, subject, body);
          
           //定义邮件正文,主题的编码方式
           mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");
           mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
           //获取或者设置一个值,该值表示电子邮件正文是否为HTML
           mailMessage.IsBodyHtml = IsHtml;
           //指定邮件的优先级
           mailMessage.Priority = MailPriority.Normal;
 
           string strFileName = @"f:/att.txt";
           if (strFileName != " " && strFileName != null)
           {
               Attachment data = new Attachment(strFileName);
               mailMessage.Attachments.Add(data);
           }
           
           //发件人身份验证,否则163   发不了
           mailClient.Credentials = new System.Net.NetworkCredential(username, password);
           //发送
           mailClient.Send(mailMessage);
       }
       //发送plaintxt
       public static void SendText(string from, string to, string subject, string body, string server, string username, string password)
       {
           SendMail(from, to,subject,body,server, username, password, false);
       }
       //发送HTML内容
       public static void SendHtml(string from, string to, string subject, string body, string server, string username, string password)
       {
           SendMail(from, to, subject, body, server, username, password, true);
       }
       //发送制定网页
       public static void SendWebUrl(string from, string to, string subject, string body, string server, string username, string password, string url)
       {
           //发送制定网页
           SendHtml(from, to, subject, ScreenScrapeHtml(url), server, username, password);
       }
   }
本文作者:网友 来源:博客园|
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读