Bilgiler
  • Ekleyen:
  • Mehmet Akin
  • Tarih:
  • October 12, 2009
  • Kategori:
  • C#
  • Paylas:
C#.net mail gonderimi, toplu mail

Bir veritabanimiz oldugunu varsayalim ve burada pek cok insanin maili oldugunu dusunelim. 100'lerce kisi. Bu kisileri ister siz kaydedin, ister sitenize koyacaginiz newsletter tarzi birseyle alin, bu kisilerin hepsine tek bir tiklamayla mail gonderebilirsiniz. Iste yontemi.

once bir veritabani aciyoruz. Anlatimi kolay olsun diye MS Access aciyoruz.
MS Access>yeni>bos veritabani> tasarim gorunumunde tablo olustur dedik. Karsimiza tablomuz cikti. "mail" yazip turunu metin seciyoruz. Alttaki options'lardan 50 karakterden fazlasinina ihtiyacimiz yok. 50 iyi. Bos mail kayitlarinin kaydini engellemek icin "bos deger"i hayir diyebilirisniz. ben demedim. (Resim.1)

Mail adresini primary key yapip kaydedip cikiyoruz. Tablomuza da herhangi bir isim verelim. Ben maillist diyecegim

.net studio da bir C# ile web uygulamasi sectim.

new> website> asp.net website

bir tablo ekliyoruz (Resim.2)

default aspx in design kismina geliyoruz surukle birak metoduyla bir gridview, textboxlar bir access datasource surukluyoruz. ve birakiyoruz.

(Resim.3)

gridwievimizin sag ust kutucugundan accessdatasource 1 i seciyoruz.

sonra access datasourcemizin sag ust kosesindeki kutucuga basiyoruz. databasemizin konumunu seciyoruz (projemizin icine koyarsak kolay buluruz) sonra select sorgusundan mail i secip devam diyoruz. iste databasemiz ve gridviewimiz doldu.

yarattigimiz buttona cift tikliyoruz ve otomatikman bir fonksiyon yaratiyor. fonksiyonun icine asagidakileri yapistiriyoruz


bu arada gridwievimize ben gwmail adini verdim.
textboxlar ise txtkonu ve txtmetin.

MailMessage message = new MailMessage();
message.From = new MailAddress("emailadresiniz@mailadresiniz.com");
// for dongusu gridviewin satir sayisi kadar donuyor
for (int i = 0; i < Gwmail.Rows.Count; i++)
{
//gwmail Gw inin i 'inci satirinin 0. elemani mail adresi oluyor
message.To.Add(Gwmail.Rows[i].Cells[0].Text);
message.Subject = txtkonu.Text;
message.Body = txtmetin.Text;

System.Net.NetworkCredential mailauthentication = new System.Net.NetworkCredential("mailadresnizi@mailadresi.com", "mail sifreniz");
SmtpClient client = new SmtpClient("smtp.live.com",587);
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = mailauthentication;
client.Send(message);
}

boylece tek metini gonderebiliyouz.
tabi message.attach() fonksiyonunu da ekleyerek attachmentli dosya gonderebiliyoruz.
insallah iyi anlatabilmisimdir ilk yazim . msnden beni eklemek isteyenler sorusu olanlar kaygerya@hotmail.com eklemeden once davet mesajina untaka yazarsaniz sizi kabuul ederim. sorularinizi belki hemen cevaplayamam ama guzel fikirler sunarsaniz yapar, siteye koyarim.

ha bir de web.config dosyasinin icine
<mailSettings>

<smtp from="mail@ma
iladresi.com">
<network host="smtp.live.com" port="587" userName="mailadresiniz@mailadresiniz.com" password="kendi mail sifreniz" defaultCredentials="true"/>

</smtp>
</mailSettings>

Yorumlar
  • Eski Yorumlar:
  • Fatih
  • Tesekkurler
  • 2009-11-01 03:59:24
  • serkan
  • merhaba bende toplu mail atma ile ugrasiyotrdum.bir okul sitesi yapiyorum.Orada ogretmen ve kayit olan kisilere bilgilendirme mailleri atmak istiyorum.Gmail uzerinden tekil olarak olarak gonderdigim kodu select komudu cekerek bir while dongusu ile datareader ile kontrol ederek gondermeye calistigimda hepsi gitmiyor ve bir hata veriyor.Server mesgul olduguna dair.Sonra kayitli olan 130 kisinin mail adresini kendi mail adresimi yazip denegidimde yaklasik 100 tane mail geliyor. ve baska bir sorun da su gunluk kota var imis.bu sorunu nasil asabliriz..??? Tesekkurler
  • 2010-02-27 13:21:13
  • Cagri
  • serkan arkadasimla ayni soruyu soracagim... Ben gmail in sunucusunu kullaniyorum.. En fazla yollayabildigim mail sayisi 500.. daha fazla yollayamadim malesef:( Gunluk kota siniri varmis.. Bunu nasil asabiliriz yardimci olursan sevinirim..
  • 2010-05-16 12:17:32
  • aspxdesign
  • Kodun yanlis row.cells[0] da hata var calismiyor row[x] diye belirtmen gerek yani deger vermen gerek.Iyi calismalar. Ayrica arkadaslari using System.Net; using System.Net.Mail; i koymalari konusunda bilgilendirmen gerek bunlar olmadan da calismaz.
  • 2010-06-27 11:20:19
  • y4
  • toplu mail adina guzel yontemlerden biri. tesekkurler.
  • 2010-07-13 21:35:41
  • koroglu
  • Cok guzel paylasim tesekkurler...
  • 2010-08-28 03:41:30
  • Tolga
  • Cok tesekkurler, stajim icin boyle birsey ariyordum bende.
  • 2010-09-12 16:56:24
  • xscape
  • arkadaslar gunluk kota sinirini mail Server kiralamaniz gerekiyor. ancak boyle asabilirsiniz
  • 2011-02-04 12:26:05
  • Kaygerya
  • 500 mesaj sorununu birden falza mail adresi alarak , sayfadaki for dongusune counter koyup 500 tabneye kadar bu mailden 500 den 1000 e kadar bu mailden gonder seklinde duzenlerseniz hallolacaktir
  • 2011-09-19 02:01:41
  • serkan
  • merhaba aspxdesign row[x] diye tanimlicaz demisin az daha detayli soleyebilirmisin?
  • 2011-09-21 14:53:55
  • on muhasebe programi
  • guzel paylasim olmus tesekkurler
  • 2011-10-20 13:59:01