【发布时间】:2018-10-29 07:20:12
【问题描述】:
我想在电子邮件正文中插入数据库内容,数据阅读器的索引 0 包含每个电子邮件地址的 ID 号,我想使用在邮件正文中添加 ID 号发送邮件,例如:员工 ID 为 5。 我需要在同一行中存在的每个邮件正文上插入每个 ID。 我已使用此代码在正文中插入 id,但这不起作用
message.Body = "The Employee id is 5 "+reader[1].ToString();
完整代码为:
MailMessage message = new MailMessage();
message.Subject = "Employee Access ";
message.From = new MailAddress("avvv@gmail.com");
var fromAddress = "avvv@gmail.com";
const string fromPassword="password";
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
OleDbCommand cmd = null;
OleDbCommand cmd2 = null;
string queryString = "select id,email,status from tableemail";
using (OleDbConnection connection = new OleDbConnection("Provider = OraOLEDB.Oracle.1; Data Source = xe;
Password=654321;User ID = xpress; unicode=true"))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
cmd = new OleDbCommand(queryString);
cmd.Connection = connection;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
MailAddress to = new MailAddress(reader[1].ToString());
message.To.Add(to);
}
message.Body = "The Employee id is 5 "+reader[1].ToString();
smtp.Send(message);
reader.Close();
}
}
我可以使用数据阅读器在正文中插入多个数据库字段吗?
【问题讨论】:
-
如果性能不是问题且数据不大。您可以使用数据表,然后您可以轻松地遍历它并发送邮件
-
能否请您提供使用数据表的示例?
标签: c# sql sendmail sqldatareader