整理的邮件一个邮件发送类

 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);

        }
    }

 

posted @ 2010-09-05 17:20  chunchill  阅读(554)  评论(1编辑  收藏  举报