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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3