BorisVavilov
Marangoz
- Mesajlar
- 50
- En iyi cevaplar
- 0
- Beğeniler
- 50
- Puanları
- 240
- Ruh hali
Selamlar saygılar millet, bu konuda sizlere yapmış olduğum "MailSender" isimli programımı tanıtıcam.
Bu program ile bir listenize veya birden çok mail adresine tek seferde aynı maili gönderebilirsiniz.
Programın mail gönderme zamanı mail adreslerinin çokluğuna ve internet hızınıza göre değişir, çok hızlı da atabilir çok yavaş ta atabilir. Programın tek bir kötü yanı bulunmaktadır bu da, giriş yaparken ki kullanıcağınız adres outlook veya hotmail olmalıdır yani live'ın hostundan olmalır bunun sebebi programını yaparken gmail veya başka bir hostun bilgilerini bulamamamdır fakat tüm mail adreslerine mail atabilirsiniz outlook sadece giriş için gereklidir. Giriş yaparken şifrenizin doğru olup olmadığını kontrol etmez fakat mail gönderme aşamasında tüm mail adresleri "Hatalı E-Postalar" kutusuna eklenir.
Umarım işinize yarar, yorum ve görüşlerinizi bildirirseniz sevinirim.
Not: Programda benim görmediğim çeşitli buglar olabilir, bildirebilirsiniz.
Programdan Görüntüler:
Program İndirme Linki: https://goo.gl/tccNbb
Virüs Total Linki: https://goo.gl/VLzCM3
Kod Paylaşımı Hakkında Açıklama: Kod daha önceden paylaşma kararım olmadığından dolayı biraz dağınık olabilir. Açıkçası kaynak kodu paylaşmaya hiç niyetim yoktu sonuçta bu işte emek var emeğim bir kaç yazı değiştirilip başkaları tarafından etrafta yayılmaması için kaynak kodu vermek istemiyordum fakat bazı arkadaşlar kötü iftiralar atmaya kalkışmış örneğin bu bizim e-posta bilgilerimizi çalıyor programda virüs var vs. gibisinden, öncelikle benim sizden e-posta bilgilerinizi alabilmem için bi veritabanına ihtiyacım var bu veritabanına bağlanabilmek içinde MySql.Data.dll adlı kütüphaneye ihtiyacım var kaynak koddada göründüğü gibi bu kütüphaneyi kullanmıyorum ve kullansaydımda programın yanında bu dosya bulunmak zorunda olurdu bu dosyayıda siz görmüş olurdunuz. Yani bu iftiraları atan arkadaşlara inanmamanızı diliyorum umarım bu tür kişileri bu forumda görmeyiz (Pek mümkün değil) neyse kaynak kod artık sizindir saygılar sevgiler.
- Boris, csharp9
Bu program ile bir listenize veya birden çok mail adresine tek seferde aynı maili gönderebilirsiniz.
Programın mail gönderme zamanı mail adreslerinin çokluğuna ve internet hızınıza göre değişir, çok hızlı da atabilir çok yavaş ta atabilir. Programın tek bir kötü yanı bulunmaktadır bu da, giriş yaparken ki kullanıcağınız adres outlook veya hotmail olmalıdır yani live'ın hostundan olmalır bunun sebebi programını yaparken gmail veya başka bir hostun bilgilerini bulamamamdır fakat tüm mail adreslerine mail atabilirsiniz outlook sadece giriş için gereklidir. Giriş yaparken şifrenizin doğru olup olmadığını kontrol etmez fakat mail gönderme aşamasında tüm mail adresleri "Hatalı E-Postalar" kutusuna eklenir.
Umarım işinize yarar, yorum ve görüşlerinizi bildirirseniz sevinirim.
Not: Programda benim görmediğim çeşitli buglar olabilir, bildirebilirsiniz.
Programdan Görüntüler:
Program İndirme Linki: https://goo.gl/tccNbb
Virüs Total Linki: https://goo.gl/VLzCM3
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MailSender
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Text = "@hotmail.com";
}
private void button1_Click(object sender, EventArgs e)
{
if (!(textBox1.Text.Contains("@") || textBox1.Text.Contains(" ")))
{
if (textBox2.Text != "")
{
MessageBox.Show("Giriş Başarılı\nDikkat: Eğer posta bilgileriniz yanlış ise program çalışmaz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Form2 frm2 = new Form2();
frm2.label4.Text = textBox1.Text + comboBox1.SelectedItem.ToString();
frm2.label5.Text = textBox2.Text;
frm2.Show();
this.Hide();
}
else
{
MessageBox.Show("Lütfen tüm alanları doldurunuz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("Lütfen geçerli bir e-posta adresi giriniz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (!(textBox1.Text.Contains("@") || textBox1.Text.Contains(" ")))
{
if (textBox2.Text != "")
{
MessageBox.Show("Giriş Başarılı\nDikkat: Eğer posta bilgileriniz yanlış ise program çalışmaz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Form2 frm2 = new Form2();
frm2.label4.Text = textBox1.Text + comboBox1.SelectedItem.ToString();
frm2.label5.Text = textBox2.Text;
frm2.Show();
this.Hide();
}
else
{
MessageBox.Show("Lütfen tüm alanları doldurunuz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("Lütfen geçerli bir e-posta adresi giriniz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space)
{
e.SuppressKeyPress = true;
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
}
}
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Mail;
using System.Threading;
namespace MailSender
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
//Thread kullanma iznim için gerekli kod
Control.CheckForIllegalCrossThreadCalls = false;
}
//Gönderme Metodunu Çalıştırmak İçin Gönder Butonuna Basma Olayı
private void button1_Click(object sender, EventArgs e)
{
if (textBox2.Text != "" && richTextBox1.Text != "")
{
if (!(listBox1.Items.Count < 1))
{
listBox2.Items.Clear();
Thread th = new Thread(Gonder);
th.Start();
}
else
{
MessageBox.Show("Lütfen en az 1 mail adresi ekleyiniz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("Lütfen tüm alanları doldurunuz!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
//Gönderme Metodu
private void Gonder()
{
label6.Text = "0 / 0";
int fns = listBox1.Items.Count;
button1.Enabled = false;
button2.Enabled = false;
button4.Enabled = false;
richTextBox1.Enabled = false;
richTextBox2.Enabled = false;
textBox2.Enabled = false;
progressBar1.Maximum = fns;
int hata = 0;
Form1 frm1 = new Form1();
MailMessage msg = new MailMessage();
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new System.Net.NetworkCredential(label4.Text, label5.Text);
smtp.Host = "smtp.live.com";
smtp.Port = 587;
smtp.EnableSsl = true;
for (int i = 0; i < fns; i++)
{
try
{
label9.Text = listBox1.Items.ToString();
label6.Text = i.ToString() + " / " + fns;
progressBar1.Value = i;
msg.To.Add(listBox1.Items.ToString());
msg.From = new MailAddress(label4.Text);
msg.Subject = textBox2.Text;
msg.Body = richTextBox1.Text;
smtp.Send(msg);
listBox3.Items.Add(listBox1.Items.ToString());
}
catch
{
hata++;
listBox2.Items.Add(listBox1.Items.ToString());
}
}
label6.Text = fns + " / " + fns;
progressBar1.Value = fns;
MessageBox.Show(hata + " Adet hatalı e-posta adresi bulundu\nDiğer tüm postalar başarı ile gönderildi!", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Warning);
button1.Enabled = true;
button2.Enabled = true;
button4.Enabled = true;
richTextBox1.Enabled = true;
richTextBox2.Enabled = true;
textBox2.Enabled = true;
label6.Text = "0 / 0";
progressBar1.Value = 0;
label9.Text = "E-Posta";
}
//Mailler Eklendikten Sonra Ekle Butonuna Basma Olayı
private void button2_Click(object sender, EventArgs e)
{
if (richTextBox2.Text != "")
{
string mailler = richTextBox2.Text;
string[] a = mailler.Split('\n');
foreach (string b in a)
{
listBox1.Items.Add(b);
}
richTextBox2.Clear();
}
}
//Temizle Butonuna Basma Olayı
private void button4_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
}
//Bilgi Butonuna Basma Olayı
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show("Bu program Boris Vavilov tarafından yapılmıştır.\nHerhangi bir sorunda forum üzerinden ulaşabilirsiniz.\nhttps://goo.gl/3RyyUe", "MailSender", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//Uygulama Kapatıldıktan Sonra Arka Planda Çalışmasını Kapatma Olayı
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
}
}
Kod Paylaşımı Hakkında Açıklama: Kod daha önceden paylaşma kararım olmadığından dolayı biraz dağınık olabilir. Açıkçası kaynak kodu paylaşmaya hiç niyetim yoktu sonuçta bu işte emek var emeğim bir kaç yazı değiştirilip başkaları tarafından etrafta yayılmaması için kaynak kodu vermek istemiyordum fakat bazı arkadaşlar kötü iftiralar atmaya kalkışmış örneğin bu bizim e-posta bilgilerimizi çalıyor programda virüs var vs. gibisinden, öncelikle benim sizden e-posta bilgilerinizi alabilmem için bi veritabanına ihtiyacım var bu veritabanına bağlanabilmek içinde MySql.Data.dll adlı kütüphaneye ihtiyacım var kaynak koddada göründüğü gibi bu kütüphaneyi kullanmıyorum ve kullansaydımda programın yanında bu dosya bulunmak zorunda olurdu bu dosyayıda siz görmüş olurdunuz. Yani bu iftiraları atan arkadaşlara inanmamanızı diliyorum umarım bu tür kişileri bu forumda görmeyiz (Pek mümkün değil) neyse kaynak kod artık sizindir saygılar sevgiler.
- Boris, csharp9
Son düzenleme: