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.
C# ile Toplu Mail Gönderimi Derlemek
9
●5.387
- 26-12-2009, 23:26:49bunun 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:47deChiffre adlı üyeden alıntı: mesajı görüntüle
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:42elbette istediğin şey ve öğrenmek istediklerin yapmak istediklerini bana ilete bilirsen sana öğrenmen konusunda yardımcı olurum.By_Muzo adlı üyeden alıntı: mesajı görüntüle
- 27-12-2009, 00:41:34neyin istiyorsan. txt dosyasının ıcıne kımı eklersen onlara gonderılıyorElroy adlı üyeden alıntı: mesajı görüntüle