• 26-12-2009, 21:33:42
    #1
    Arkadaşlar,

    Sizler ile kodları paylaşacağım yanlız dikkat etmeniz gereken sadece butonların içine yazılıcak alanları iyi gözlemlemek.

    İlk başta yapacağımız bir olay var aslında bunlarıda şöyle sıralamamız gerekmektedir.

    Aşağıda kırmızı ile renklendirdiğim alandaki kod VS2005 hata mesajı veriyor yani yüklemeniz gerekmektedir.

    VS2008 içinde bu kod yüklü geliyor yeni başlayan arkadaşlara duyrulur.

    Sistem başında namespace'lerimiz aşağıdaki gibi olmalıdır.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.IO;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Net.Mail;

    Şimdi aşağıdaki kod kısmını Forum Load kısmına yazdıktan sonra;

    private void Form1_Load(object sender, EventArgs e)
    {
    MailMessage tbtMail = new MailMessage();
    tbtMail.from = new MailAddress("Kendi MAilinizi Yazın");
    tbtMail.To.Add("Kendi MAilinizi Yazın");
    tbtMail.Bcc.Add(("Kendi MAilinizi Yazın"));
    tbtMail.Attachments.Add(new Attachment(@"C:\mail_eki.txt"));
    tbtMail.Subject = "TES ET KONU";
    tbtMail.Body = "TES ET";
    SmtpClient smtp = new SmtpClient();
    smtp.Credentials = new System.Net.NetworkCredential("Kendi MAilinizi Yazın", "Şifre");
    smtp.Port = 587; // bu kod gmailin port numarasıdır.
    smtp.Host = "smtp.gmail.com"; // Hostumuzu buraya yazıyoruz
    smtp.EnableSsl = true;
    smtp.SendAsync(tbtMail, (object)tbtMail);
    smtp.Send(tbtMail);

    }

    Forum Load kısmındaki kodları yazdıktan sonra Forum sayfamıza dönüp şunları ekliyoruz.



    Evet arkadaşlar şimdi elimizdeki bu verilerle basit ama işlevsel bir toplu mail programı yazalım.Form Design alanında 6 textbox, 1 listbox,3 buton ve 1 OpenFileDialog ekliyoruz ve değişkenleri aşağıdaki gibi ayarlıyoruz.

    Aşağıda yazanlar özellikler içinden buton namelerini değiştirmemiz isteniyor.

    1.ci Textbox : Name = “txtSunucu”
    2.ci Textbox : Name = “txtMail”
    3.cü Textbox: Name = “txtParola” , PasswordChar = “*”
    4.cü Textbox: Name = “txtKonu”
    5.ci Textbox : Name = “txtMesaj” , Multiline = “true”
    6.cı Textbox : Name = “txtPort”
    7.ci TextBox : Name = “txtGad”
    1 Tane Listbox : Name = “lblMail”
    3 Tane Button;

    1.ci Button : Name = “btnYukle”
    2.ci Button : Name = “btnTemizle”
    3. cü Button : Name = “btnGonder”

    1 Tane OpenFileDialog : Name = “dlgDosyaYukle”

    Not : Dışarıdan mail list çekeceğimiz için yani yükle fonksiyonu ile dosya işlemi yapacağımız için “System.IO” namespace’imizi eklemeyi unutmuyoruz .

    Temizle butonunun loda kısmına aşağıdaki kodu yazıyoruz;

    private void btnTemizle_Click(object sender, EventArgs e)
    {
    lbMail.Items.Clear();
    }

    Yükleme butonunun load kısmına aşağıdaki kodu yazıyoruz;

    private void btnYukle_Click(object sender, EventArgs e)
    {
    try
    {
    dlgDosyaYukle.ShowDialog();
    if (dlgDosyaYukle.FileName != "")
    {
    lbMail.Items.Clear();
    StreamReader srRead = new StreamReader(dlgDosyaYukle.FileName);
    while (srRead.EndOfStream == false)
    {
    lbMail.Items.Add(srRead.ReadLine().ToString());
    }
    srRead.Close();
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show("Hatalı Yükleme !\n\n" + ex.Message);
    }
    }

    Gönder butonunun load kısmınada aşağıdaki kodu yazacağız;

    private void btnGonder_Click(object sender, EventArgs e)
    {
    try
    {
    MailMessage mesaj = new MailMessage();
    mesaj.from = new MailAddress(txtMail.Text, txtMesaj.Text, System.Text.Encoding.UTF8);
    SmtpClient smtp = new SmtpClient();

    mesaj.Subject = txtKonu.Text;
    mesaj.IsBodyHtml = false;
    mesaj.BodyEncoding = System.Text.Encoding.UTF8;
    mesaj.Body = txtGAd.Text;
    mesaj.Priority = MailPriority.High;
    smtp.Credentials = new System.Net.NetworkCredential(txtMail.Text, txtParola.Text);
    smtp.Port = Convert.ToInt32(txtPort.Text);
    smtp.Host = txtSunucu.Text;
    smtp.EnableSsl = true;
    for (int i = 0; i < lbMail.Items.Count; i++) // Gönderilecek Maillerin Yüklenmesi.
    {
    mesaj.Bcc.Add(lbMail.Items[i].ToString());
    }
    smtp.Send(mesaj);

    MessageBox.Show("Tüm Mailler Başarıyla Gönderildi");
    }
    catch (Exception ex)
    {
    MessageBox.Show("Mail Gönderiminde Hata oldu :\n\n" + ex.Message);
    }
    }



    Herkeze Kolay Gelsin.Tekrar Bekleriz.
  • 26-12-2009, 22:50:49
    #2
    bunu program olarak kodlarıyla birlikte verseniz daha iyi olur aslında bir metin dosyasıyla bana atabilir misiniz? ben yaptım hatalar verdi o bakımdan ?
  • 26-12-2009, 23:04:56
    #3
    elbette ozelden pm gönderirisen ben sana tüm hepsini veririrm msn desteğide veririm amaç öğrenmek gerisi teferuat
  • 26-12-2009, 23:20:46
    #4
    bende ögrenmeye çalısıyorum hocam yeniyiz bişey bilmiyoruz daha
  • 26-12-2009, 23:26:49
    #5
    bunun tek mail adresli olanını yaptım
    gmail üzerinden ve çalışıyor..
    toplu olanınıda sayenizde yapacam artık..
    text dosyasındaki mailler arasında bir karakter yada alt satıra aktarma gibi bir kod varmı yoksa space mi sadece?
    bide hocam
    private void emailTextBox_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (emailTextBox.Text.IndexOf("@") < 0)
                { errorProvider1.SetError(emailTextBox, "Email adresini yanlış girdiniz..."); }
                else
                    errorProvider1.SetError(emailTextBox, "");
                if (emailTextBox.Text.IndexOf("ç") >= 0 || emailTextBox.Text.IndexOf("ş") >= 0 || emailTextBox.Text.IndexOf("ğ") >= 0 || emailTextBox.Text.IndexOf("ö") >= 0 || emailTextBox.Text.IndexOf("ü") >= 0 || emailTextBox.Text.IndexOf("İ") >= 0 || emailTextBox.Text.IndexOf("ı") >= 0 || emailTextBox.Text.IndexOf("Ç") >= 0 || emailTextBox.Text.IndexOf("Ş") >= 0 || emailTextBox.Text.IndexOf("Ğ") >= 0 || emailTextBox.Text.IndexOf("Ö") >= 0 || emailTextBox.Text.IndexOf("Ü") >= 0)
                { errorProvider1.SetError(emailTextBox, "Email adresini yanlış girdiniz.Türkçe karakter email adreslerinde kullanılamaz"); }
            }
    kodunu bu programa uyarlayabilirmiyiz?
  • 26-12-2009, 23:53:47
    #6
    deChiffre adlı üyeden alıntı: mesajı görüntüle
    bunun tek mail adresli olanını yaptım
    gmail üzerinden ve çalışıyor..
    toplu olanınıda sayenizde yapacam artık..
    text dosyasındaki mailler arasında bir karakter yada alt satıra aktarma gibi bir kod varmı yoksa space mi sadece?
    bide hocam
    private void emailTextBox_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (emailTextBox.Text.IndexOf("@") < 0)
                { errorProvider1.SetError(emailTextBox, "Email adresini yanlış girdiniz..."); }
                else
                    errorProvider1.SetError(emailTextBox, "");
                if (emailTextBox.Text.IndexOf("ç") >= 0 || emailTextBox.Text.IndexOf("ş") >= 0 || emailTextBox.Text.IndexOf("ğ") >= 0 || emailTextBox.Text.IndexOf("ö") >= 0 || emailTextBox.Text.IndexOf("ü") >= 0 || emailTextBox.Text.IndexOf("İ") >= 0 || emailTextBox.Text.IndexOf("ı") >= 0 || emailTextBox.Text.IndexOf("Ç") >= 0 || emailTextBox.Text.IndexOf("Ş") >= 0 || emailTextBox.Text.IndexOf("Ğ") >= 0 || emailTextBox.Text.IndexOf("Ö") >= 0 || emailTextBox.Text.IndexOf("Ü") >= 0)
                { errorProvider1.SetError(emailTextBox, "Email adresini yanlış girdiniz.Türkçe karakter email adreslerinde kullanılamaz"); }
            }
    kodunu bu programa uyarlayabilirmiyiz?

    Selam

    arkadaşım aşağıdaki programı sana msnden müsait olduğumda anlatsam sanırım ıstediğin şey olarak alıp kullana bilirsin.

    hem sanada daha açıklayıcı bir anlatım oluşur.
  • 26-12-2009, 23:54:42
    #7
    By_Muzo adlı üyeden alıntı: mesajı görüntüle
    bende ögrenmeye çalısıyorum hocam yeniyiz bişey bilmiyoruz daha
    elbette istediğin şey ve öğrenmek istediklerin yapmak istediklerini bana ilete bilirsen sana öğrenmen konusunda yardımcı olurum.
  • 27-12-2009, 00:39:26
    #8
    form_load'da neyin mailini gönderiyosunuz ?
  • 27-12-2009, 00:41:34
    #9
    Elroy adlı üyeden alıntı: mesajı görüntüle
    form_load'da neyin mailini gönderiyosunuz ?
    neyin istiyorsan. txt dosyasının ıcıne kımı eklersen onlara gonderılıyor