Anasayfa » Forum

C# SQL De Bulunan E...
 
Bildirimler
Hepsini Temizle

C# SQL De Bulunan E-postalara Toplu şekilde Mail Gönderme  

  RSS
cengiz durmuş
(@cengizhnx)
Üye

Konu başlığında belirttiğim gibi aşağıdaki linkteki hatayı alıyorum:

form sayfası bu şekilde :

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("kendimailim@gmail.com", "şifresi");
                    SunucuAyar.EnableSsl = true;
                    SunucuAyar.Send(EPosta);

                }
                catch
                {
                    MessageBox.Show("HATA" + i.ToString() + " mail gönderilemedi!");

                }

Alıntı
Gönderildi : 11/12/2019 17:29
Konu Etiketleri
emre_ugur
(@emre_ugur)
Üye

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.

CevapAlıntı
Gönderildi : 12/12/2019 15:23
cengiz durmuş
(@cengizhnx)
Üye

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("kendimailim@gmail.com", "şifresi");
SunucuAyar.EnableSsl = true;

foreach (DataRow rows in dt.Rows)
{
MailMessage EPosta = new MailMessage();
EPosta.From = new MailAddress("kendimailim@gmail.com", "Gönderen Adı");
EPosta.To.Add(rows["posta"].ToString()); //<----
EPosta.Subject = textBox50.Text;
EPosta.Body = textBox51.Text;

SunucuAyar.Send(EPosta);
}

 

SunucuAyar.Send(EPosta);
satırında aşağıdaki hatayı alıyorum.

An unhandled exception of type 'System.Net.Mail.SmtpException' occurred in System.dll

Additional information: Posta gönderme hatası.

CevapAlıntı
Gönderildi : 13/12/2019 16:10
Hasan Kamil
(@ekinonline)
Üye

Hangi mail sunucuyu kullaniyorsaniz onunla ilgili bir hata var

CevapAlıntı
Gönderildi : 31/01/2020 11:46
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi
Gönderen: @cengizhnx

Konu başlığında belirttiğim gibi aşağıdaki linkteki hatayı alıyorum:

form sayfası bu şekilde :

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("kendimailim@gmail.com", "ş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 ? 

CevapAlıntı
Gönderildi : 01/02/2020 13:23
Paylaş: