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>

October 12, 2009
Mehmet Akin
C#
12 yorum