private IEnumerable<Tuple<string,string,string>> GetMessages()
{
using (var connection = new SqlConnection("connection string")
using (var command = connection.CreateCommand())
{
command.CommandText = "SELECT Name, MailID, Body FROM table";
connection.Open()
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
yield return new Tuple<string,string,string>(
reader.GetString(0), // name
reader.GetString(1) // email
reader.GetString(2)); // body
}
}
}
}
foreach(var tuple in GetMessages())
{
SendMessage(tuple.Item1, tuple.Item2, tuple.Item3);
}
private void SendMessage(string name, string email, string body)
{
using (var smtpClient = new SmtpClient("smtp.example.com"))
{
smtpClient.Send(new MailMessage(
name, // from
email, // to
"Subject",
body));
}
}
@ prince23:我認爲,這將是可取的不同標記您的問題。首先,你似乎已經關注了'SQL'部分。所以這主要是發送'email'。 (而且你用'C#'做這個事實引發了你是否想用'.NET'框架發送郵件的問題?) – stakx 2010-08-16 08:45:30
可能有很多重複的問題 – 2010-08-16 10:26:41