Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 26.06.2012, 05:14   #1
Zangi
Новичок
Джуниор
 
Регистрация: 26.06.2012
Сообщений: 1
Восклицание рассылка массовых сообщений через с#

народ такая проблемка есть задание написать прогу с базой которая хранит в себе все данные о клиентах... программа написана база есть

Загвостка в следующем, а именно в рассылке почты все клиентам, по одному клиенту программа письма отпровляет, а вот как взять например 200 эмейлов и отправить им письма вот это проблема вот код кто может помочь помогите на данной стадии зациклился я на цикле foreach

if (comboBox1.Text == "Google.com")
{
SmtpClient Smtp = new SmtpClient("smtp.gmail.com", 587);
Smtp.Credentials = new NetworkCredential("rubegbr@gmail.co m", "***");
Smtp.EnableSsl = true;
MailMessage Message = new MailMessage();
Message.From = new MailAddress("rubegbr@gmail.com");
MySqlConnection cn;
cn = new MySqlConnection("Database=massemail ;Data Source=localhost;User Id=root;Password=***");
DataSet ds = new DataSet();
DataTable dt = new DataTable("client");
MySqlDataAdapter sda = new MySqlDataAdapter("select email from client",cn);
sda.Fill(ds);
foreach (DataRow dr in ds.Tables[тут он нечего не воспринимает])
{
Message.To.Add(new MailAddress(dr["email"].ToString()));

}
Message.Subject = textBox1.Text;
Message.Body = textBox2.Text;
Smtp.Send(Message);//отправка
}
Zangi вне форума Ответить с цитированием
Старый 20.10.2012, 16:08   #2
Programmer_St
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 43
По умолчанию

извини времени не было разбираться в твоем коде.вот посмотри как делал я.
private void Sends()
{
progressBar1.Maximum = 1000;
progressBar1.Value = 0;
string line;

// Read the file and display it line by line.
System.IO.StreamReader file =
new System.IO.StreamReader(@"c:\test.tx t");
while ((line = file.ReadLine()) != null)
{


progressBar1.Value++;

RecipientEmail_TB.Text = line;

try
{
if (Service_CB.SelectedIndex == 0)
{//localhost
using (MailMessage mm = new MailMessage(SenderName_TB.Text + " <" + SenderEmail_TB.Text + ">", RecipientEmail_TB.Text))
{
mm.Subject = Subject_TB.Text;
mm.Body = MailText_TB.Text;

using (SmtpClient sc = new SmtpClient("127.0.0.1",25))
{
sc.Send(mm);
}
}
}
else if (Service_CB.SelectedIndex == 1)
{//Gmailz
using (MailMessage mm = new MailMessage(SenderName_TB.Text + " <" + SenderEmail_TB.Text + ">", RecipientEmail_TB.Text))
{
mm.Subject = Subject_TB.Text;
mm.Body = MailText_TB.Text;

using (SmtpClient sc = new SmtpClient("smtp.gmail.com", 587))
{
sc.EnableSsl = true;
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
sc.UseDefaultCredentials = false;
sc.Timeout = 30000;
sc.Credentials = new NetworkCredential(SenderEmail_TB.Te xt, AccountPassword_TB.Text);
sc.Send(mm);
}
}
}
else if (Service_CB.SelectedIndex == 2)
{//Yandex
using (MailMessage mm = new MailMessage(SenderName_TB.Text + " <" + SenderEmail_TB.Text + ">", RecipientEmail_TB.Text))
{
mm.Subject = Subject_TB.Text;
mm.Body = MailText_TB.Text;

SmtpClient sc = new SmtpClient("smtp.yandex.ru", 25);
{
sc.EnableSsl = true;
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
sc.UseDefaultCredentials = false;
sc.Timeout = 30000;
sc.Credentials = new NetworkCredential(SenderEmail_TB.Te xt, AccountPassword_TB.Text);
sc.Send(mm);
}
}
}
else if (Service_CB.SelectedIndex == 3)
{//Mail.ru
string files = "test.txt";
using (MailMessage mm = new MailMessage(SenderName_TB.Text + " <" + SenderEmail_TB.Text + ">", RecipientEmail_TB.Text))
{
mm.Subject = Subject_TB.Text;
mm.Body = MailText_TB.Text;

using (SmtpClient sc = new SmtpClient("smtp.mail.ru", 25))
{
sc.EnableSsl = true;
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
sc.UseDefaultCredentials = false;
sc.Timeout = 30000;
sc.Credentials = new NetworkCredential(SenderEmail_TB.Te xt, AccountPassword_TB.Text);
sc.Send(mm);

}
}
}


}
catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
MessageBox.Show("Рассылка выполнена успешно!", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);

file.Close();
}

тут функция которая считывает адреса почт с текстового файла.
и еще встречный вопрос сколько максимум ты можешь рассылать сообщений за 1 раз? то есть что ты делаешь чтобы тебя не забанили? если что стучи manakayura@gmail.com
Programmer_St вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рассылка сообщений пользователям LittleFatCat Microsoft Office Access 9 17.05.2012 11:18
передача сообщений через serversocket и clientsocket virtuhay266 Помощь студентам 1 14.12.2011 21:54
icqclient рассылка сообщений. hacker_007 Работа с сетью в Delphi 2 19.09.2011 09:54
рассылка сообщений всем пользователям в чате, протокол UDP RKS Работа с сетью в Delphi 14 15.12.2007 11:36


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS