C#实现按数据库邮件列表发送邮件的方法
本文实例讲述了C#实现按数据库邮件列表发送邮件的方法。分享给大家供大家参考。具体实现方法如下:
usingSystem; usingSystem.Net; usingSystem.Net.Mail; usingSystem.Text; usingSystem.Threading; delegatevoidsendDelegate(stringfrom,stringto,stringsubject,stringbody,stringhost,intport,stringuserName,stringpassword); ///<summary> ///发送电子邮件 ///</summary> ///<paramname="from">发件人</param> ///<paramname="to">收件人</param> ///<paramname="subject">邮件主题</param> ///<paramname="body">邮件内容</param> ///<paramname="host">发送服务地址(smtp.qq.com)</param> ///<paramname="port">发送邮件服务器端口(25)int型</param> ///<paramname="userName">用户名</param> ///<paramname="password">密码</param> publicvoidsendmail(stringfrom,stringto,stringsubject,stringbody,stringhost,intport,stringuserName,stringpassword) { MailMessagemessage=newMailMessage(from,to,subject,body); message.IsBodyHtml=true; message.BodyEncoding=Text.Encoding.UTF8; message.Attachments.Add(newAttachment("c:\\log.log")); SmtpClientclient=newSmtpClient(host,port); client.Credentials=newNetworkCredential(userName,password); client.DeliveryMethod=SmtpDeliveryMethod.Network; client.Send(message); } SqlConnectionconn=newSqlConnection(); conn.ConnectionString="DataSource=(local);IntegratedSecurity=SSPI;InitialCatalog=db_showHouse";//打开连接 conn.Open(); SqlCommandcmd=newSqlCommand("selectEmailfromEmployee",conn); SqlDataReaderdrNew=cmd.ExecuteReader(); if(drNew.HasRows) { while(drNew.Read()) newsendDelegate(sendmail).BeginInvoke("someone@somecompany.com",drNew[0].ToString(),"subject","body","smtp.somescompany.com",25,"userName","password"); } drNew.Close();
希望本文所述对大家的C#程序设计有所帮助。