C#数据库邮件列表发送邮件

本文介绍如何使用C#编程语言结合.NET框架,通过编写一个自定义类实现发送电子邮件的功能,并集成数据库查询来获取收件人列表。演示了如何配置SMTP服务器设置、构造邮件消息以及使用SqlConnection进行数据库连接,最终实现批量发送电子邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 using System;
 2     using System.Net;
 3     using System.Net.Mail;
 4     using System.Text;
 5     using System.Threading;
 6 
 7     public class test
 8     {
 9         delegate void sendDelegate(string fromstring to, string subject, string body, string host, int port, string userName, string password);
10         /// <summary>
11         /// 发送电子邮件
12         /// </summary>
13         /// <param name="from">发件人</param>
14         /// <param name="to">收件人</param>
15         /// <param name="subject">邮件主题</param>
16         /// <param name="body">邮件内容</param>
17         /// <param name="host">发送服务地址(smtp.qq.com)</param>
18         /// <param name="port">发送邮件服务器端口(25) int型</param>
19         /// <param name="userName">用户名</param>
20         /// <param name="password">密码</param>
21         public void sendmail(string fromstring to, string subject, string body, string host, int port, string userName, string password)
22         {
23             MailMessage message = new MailMessage(from, to, subject, body);
24             message.IsBodyHtml = true;
25 
26             message.BodyEncoding = MediaTypeNames.Text.Encoding.UTF8;
27             message.Attachments.Add(new Attachment("c:\\log.log"));
28             SmtpClient client = new SmtpClient(host, port);
29             client.Credentials = new NetworkCredential(userName, password);
30             client.DeliveryMethod = SmtpDeliveryMethod.Network;
31             client.Send(message);
32         }
33         public void sby()
34         {
35             SqlConnection conn = new SqlConnection();
36             conn.ConnectionString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=db_showHouse";   //打开连接
37             conn.Open();
38             SqlCommandcmd = new SqlCommand("select Email from Employee", conn);
39             SqlDataReader drNew = cmd.ExecuteReader();
40             if (drNew.HasRows)
41             {
42                 while (drNew.Read())
43                     new sendDelegate(sendmail).BeginInvoke("someone@somecompany.com", drNew[0].ToString(), "subject""body""smtp.somescompany.com"25"userName""password");
44             }
45             drNew.Close();
46         }
47     }

转载于:https://www.cnblogs.com/wenanry/archive/2012/02/06/2340398.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值