Forum
Konu başlığında belirttiğim gibi aşağıdaki linkteki hatayı alıyorum:
kodlarım bu şekilde:
SqlConnection baglan = new SqlConnection("Data Source = LAPTOP-KBMKH7SD\\SQLEXPRESS; Initial Catalog = kayit; Integrated Security = True");
string memSQL = "SELECT posta FROM nufuss";
SqlCommand cmdGetir = new SqlCommand(memSQL, baglan);
SqlDataAdapter da = new SqlDataAdapter(cmdGetir);
DataSet ds = new DataSet();
try
{
ds.Tables["nufuss"].Clear();
}
catch { }
for (int i = 0; i < ds.Tables["nufuss"].Rows.Count; i++)
{
try
{
MailMessage EPosta = new MailMessage();
EPosta.From = new MailAddress("textBox38.Text");
EPosta.To.Add(ds.Tables["nufuss"].Rows[i]["posta"].ToString());
EPosta.Subject = "textbox50.Text";
EPosta.Body = "textbox51.Text";
SmtpClient SunucuAyar = new SmtpClient("smtp.gmail.com");
SunucuAyar.Port = 587;
SunucuAyar.Credentials = new System.Net.NetworkCredential("[email protected]", "şifresi");
SunucuAyar.EnableSsl = true;
SunucuAyar.Send(EPosta);
}
catch
{
MessageBox.Show("HATA" + i.ToString() + " mail gönderilemedi!");
}
Dataset ds'ti oluşturduktan sonra içine hiç tablo eklememişsiniz. ds null iken for döngüsündeki ds.Tables["nufuss"].Rows.Count kısmında hata alıyorsunuz.
Önce ds'ye nufuss tablosunu eklemeniz gerekmekte.
string memSQL = "SELECT posta FROM nufuss";
SqlConnection baglan = new SqlConnection("Data Source = LAPTOP-KBMKH7SD\\SQLEXPRESS; Initial Catalog = kayit; Integrated Security = True");
baglan.Open();
SqlCommand cmdGetir = new SqlCommand(memSQL, baglan);
SqlDataAdapter da = new SqlDataAdapter(cmdGetir);
DataTable dt = new DataTable();
da.Fill(dt);
SmtpClient SunucuAyar = new SmtpClient("smtp.gmail.com");
SunucuAyar.Port = 587;
SunucuAyar.Credentials = new System.Net.NetworkCredential("[email protected]", "şifresi");
SunucuAyar.EnableSsl = true;
foreach (DataRow rows in dt.Rows)
{
MailMessage EPosta = new MailMessage();
EPosta.From = new MailAddress("[email protected]", "Gönderen Adı");
EPosta.To.Add(rows["posta"].ToString()); //<----
EPosta.Subject = textBox50.Text;
EPosta.Body = textBox51.Text;
SunucuAyar.Send(EPosta);
}
SunucuAyar.Send(EPosta);
An unhandled exception of type 'System.Net.Mail.SmtpException' occurred in System.dll
Additional information: Posta gönderme hatası.
Hangi mail sunucuyu kullaniyorsaniz onunla ilgili bir hata var
Konu başlığında belirttiğim gibi aşağıdaki linkteki hatayı alıyorum:
kodlarım bu şekilde:
SqlConnection baglan = new SqlConnection("Data Source = LAPTOP-KBMKH7SD\\SQLEXPRESS; Initial Catalog = kayit; Integrated Security = True");string memSQL = "SELECT posta FROM nufuss";
SqlCommand cmdGetir = new SqlCommand(memSQL, baglan);
SqlDataAdapter da = new SqlDataAdapter(cmdGetir);
DataSet ds = new DataSet();
try
{ds.Tables["nufuss"].Clear();
}
catch { }
for (int i = 0; i < ds.Tables["nufuss"].Rows.Count; i++){
try{
MailMessage EPosta = new MailMessage();
EPosta.From = new MailAddress("textBox38.Text");
EPosta.To.Add(ds.Tables["nufuss"].Rows[i]["posta"].ToString());
EPosta.Subject = "textbox50.Text";
EPosta.Body = "textbox51.Text";
SmtpClient SunucuAyar = new SmtpClient("smtp.gmail.com");
SunucuAyar.Port = 587;
SunucuAyar.Credentials = new System.Net.NetworkCredential("[email protected]", "şifresi");
SunucuAyar.EnableSsl = true;
SunucuAyar.Send(EPosta);}
catch
{
MessageBox.Show("HATA" + i.ToString() + " mail gönderilemedi!");}
neden once clear ds.Tables["nufuss"].Clear(); edip sonra row count bakiyorsunuz ? buradaki akisiniz nedir ozel bir sebepten mi bosaltiryorsunuz tabloyu ? eger bunu bosaltirsasniz null exeption almaniz normal sql yada mail sunucu koduna daha gioremiyorsunuz bile ?
biraz daha detay acarmisiniz ?
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com