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#程序设计有所帮助。