C#实现按数据库邮件列表发送邮件的方法
本文实例讲述了C#实现按数据库邮件列表发送邮件的方法。分享给大家供大家参考。具体实现方法如下:
using System; using System.Net; using System.Net.Mail; using System.Text; using System.Threading; delegate void sendDelegate(string from, string to, string subject, string body, string host, int port, string userName, string password); /// <summary> /// 发送电子邮件 /// </summary> /// <param name="from">发件人</param> /// <param name="to">收件人</param> /// <param name="subject">邮件主题</param> /// <param name="body">邮件内容</param> /// <param name="host">发送服务地址(smtp.qq.com)</param> /// <param name="port">发送邮件服务器端口(25) int型</param> /// <param name="userName">用户名</param> /// <param name="password">密码</param> public void sendmail(string from, string to, string subject, string body, string host, int port, string userName, string password) { MailMessage message = new MailMessage(from, to, subject, body); message.IsBodyHtml = true; message.BodyEncoding = Text.Encoding.UTF8; message.Attachments.Add(new Attachment("c:\\log.log")); SmtpClient client = new SmtpClient(host, port); client.Credentials = new NetworkCredential(userName, password); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Send(message); } SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=db_showHouse"; //打开连接 conn.Open(); SqlCommandcmd = new SqlCommand("select Email from Employee", conn); SqlDataReader drNew = cmd.ExecuteReader(); if (drNew.HasRows) { while (drNew.Read()) new sendDelegate(sendmail).BeginInvoke("someone@somecompany.com",drNew[0].ToString(),"subject","body","smtp.somescompany.com",25,"userName","password"); } drNew.Close();
希望本文所述对大家的C#程序设计有所帮助。
赞 (0)