Это моя электронная таблица
> ID EMAIL CREDIT
> ----------------------------------- ----------
> 1 emal1@gmail.com 2500
> 2 email2@gmail.com 13500
> 3 email3@hotmail.com 3750
> 4 email4@outlook.com 11700
> 5 email5@outlook.com 1200
> 6 email6@yahoo.com 1997
> 7 email7@yahoo.com 179
> 8 emal8@gmail.com 10
Мне нужно отправить письмо на каждый адрес электронной почты, чтобы сообщить ей сумму кредита, используя следующую строку:
Email Body:Dear User your credit value: 2500
когда я выполняю код, указанный ниже, каждый адрес электронной почты получал несколько писем, например, 1-е письмо получало 8 писем и 2-е письмо получало 7 писем 3-е письмо получало 6 писем, как я могу избежать получения нескольких писем или как легко отправлять почту без код ошибки:
MailMessage message = new MailMessage();
DataTable dataTable = new DataTable();
message.Subject = "Employee Access ";
message.From = new MailAddress("xyz@gmail.com");
var fromAddress = "zxy@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,credit from emailinfo";
using (OleDbConnection connection = new OleDbConnection("Provider = OraOLEDB.Oracle.1; Data Source = orcl; Password=bdipf;User ID = human; unicode=true"))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
cmd = new OleDbCommand(queryString);
cmd.Connection = connection;
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(dataTable);
adapter.Dispose();
}
foreach (DataRow dataRow in dataTable.Rows)
{
MailAddress to = new MailAddress(dataRow[2].ToString());
StringBuilder body = new StringBuilder();
if (!message.To.Contains(to))
{
message.To.Add(to);
message.Body = "Dear User your credit value: " + dataRow[2].ToString();
smtp.Send(message);continue
}
}