这篇文章主要介绍了C#实现按数据库邮件列表发送邮件的方法,涉及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#程序设计有所帮助。
新闻热点
疑难解答