Forum

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

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

5 Yazılar
4 Üyeler
0 Likes
1,504 Görüntüleme
(@cengizhnx)
Gönderiler: 2
New Member
Konu başlatıcı
 

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("[email protected]", "şifresi");
                    SunucuAyar.EnableSsl = true;
                    SunucuAyar.Send(EPosta);

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

                }

 
Gönderildi : 11/12/2019 17:29

(@emre_ugur)
Gönderiler: 41
Trusted Member
 

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.

 
Gönderildi : 12/12/2019 15:23

(@cengizhnx)
Gönderiler: 2
New Member
Konu başlatıcı
 

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);
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ı.

 
Gönderildi : 13/12/2019 16:10

(@anonim)
Gönderiler: 1779
Famed Member
 

Hangi mail sunucuyu kullaniyorsaniz onunla ilgili bir hata var

 
Gönderildi : 31/01/2020 11:46

(@eravse)
Gönderiler: 1753
Üye
 
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("[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

 
Gönderildi : 01/02/2020 13:23

Paylaş: