Bir veritabanımız olduğunu varsayalım ve burada pek çok insanın maili olduğunu düşünelim. 100'lerce kişi. Bu kişileri ister siz kaydedin, ister sitenize koyacağınız newsletter tarzı birşeyle alın, bu kişilerin hepsine tek bir tıklamayla mail gönderebilirsiniz. İşte yöntemi.
Önce bir veritabanı açıyoruz. Anlatımı kolay olsun diye MS Access açıyoruz.
MS Access>yeni>boş veritabanı> tasarım görünümünde tablo oluştur dedik. Karşımıza tablomuz çıktı. "mail" yazıp türünü metin seçiyoruz. Alttaki options'lardan 50 karakterden fazlasınına ihtiyacımız yok. 50 iyi. Boş mail kayıtlarının kaydını engellemek için "boş değer"i hayır diyebilirisniz. ben demedim. (Resim.1)
Mail adresini primary key yapıp kaydedip çıkıyoruz. Tablomuza da herhangi bir isim verelim. Ben maillist diyeceğim
.net studio da bir C# ile web uygulaması seçtim.
new> website> asp.net website
bir tablo ekliyoruz (Resim.2)
default aspx in design kısmına geliyoruz sürükle bırak metoduyla bir gridview, textboxlar bir access datasource sürüklüyoruz. ve bırakıyoruz.
(Resim.3)
gridwievimizin sağ üst kutucuğundan accessdatasource 1 i seçiyoruz.
sonra access datasourcemizin sağ üst köşesindeki kutucuğa basıyoruz. databasemizin konumunu seçiyoruz (projemizin içine koyarsak kolay buluruz) sonra select sorgusundan mail i seçip devam diyoruz. işte databasemiz ve gridviewimiz doldu.
yarattığımız buttona çift tıklıyoruz ve otomatikman bir fonksiyon yaratıyor. fonksiyonun içine aşağıdakileri yapıştırıyoruz
bu arada gridwievimize ben gwmail adını verdim.
textboxlar ise txtkonu ve txtmetin.
MailMessage message = new MailMessage();
message.From = new MailAddress("emailadresiniz@mailadresiniz.com");
// for döngüsü gridviewin satır sayısı kadar dönüyor
for (int i = 0; i < Gwmail.Rows.Count; i++)
{
//gwmail Gw inin i 'inci satırının 0. elemanı mail adresi oluyor
message.To.Add(Gwmail.Rows.Cells[0].Text);
message.Subject = txtkonu.Text;
message.Body = txtmetin.Text;
System.Net.NetworkCredential mailauthentication = new System.Net.NetworkCredential("mailadresnizi@mailadresi.com", "mail şifreniz");
SmtpClient client = new SmtpClient("smtp.live.com",587);
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = mailauthentication;
client.Send(message);
}<mailSettings>
<smtp from="mail@ma
iladresi.com">
<network host="smtp.live.com" port="587" userName="mailadresiniz@mailadresiniz.com" password="kendi mail şifreniz" defaultCredentials="true"/>
</smtp>
</mailSettings>