c# - 如何发送电子邮件?

标签 c# .net sql email ado.net

我有一个这样的数据表。

我有一个这样的 Excel 工作表。现在我正在从中读取数据并转换成这样的数据表:

id   Name     MailID                Body

123  kirna    kiran@example.com     happy birthday   
234  ram      ram@example.com       happy birthday  
345  anu      anitha@example.com    how is the day going
357  rashmi   rashmi@example.com    work need  to be completed

现在我要给上面所有的人发邮件。

任何人都可以帮助我如何从数据表中读取数据并将指定的正文发送给他们。

任何帮助都会很棒。

谢谢。

最佳答案

您可以使用 SmtpClient类:

foreach (DataRow row in datatable.Rows)
{
    var name = (string)row["Name"];
    var email = (string)row["MailID"];
    var body = (string)row["Body"];

    var message = new MailMessage();
    message.To.Add(email);
    message.Subject = "This is the Subject";
    message.From = new MailAddress("from@yourdomain.com");
    message.Body = body;
    var smtpClient = new SmtpClient("yoursmtphost");
    smtpClient.Send(message);
}

备注 1:在 .NET 4.0 中,SmtpClient工具 IDisposable ,因此请确保妥善处理它。

备注2:有一个bugSmtpClient .NET 4.0 之前的类无法将 QUIT 命令正确发送到 SMTP 服务器。

关于c# - 如何发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3491651/

相关文章:

c# - 何时以及如何交换 .NET 托管堆?

c# - GetSqlValues 是否获取隐藏字段?

c# - WebAPI 返回文件和下载未开始

c# - 使用C#从Formstack获取提交的数据?

C# 和 Mysql 不工作

c# - 如何更新我的 API 以使用 async 关键字而不对所有调用者使用 await

c# - 使用 Visual Studio 2010 为较旧的 .net 框架创建

mysql - 如何对 mysql 中的串联结果进行 group_concat

SQL Server - 列数据类型和镶嵌方案不匹配

c# - 存储到 oracle 时截断负十进制值