Merhaba bugün sizlerle C# programlama dili ile mail gönderme programı yapacağız.
Proje Oluşumu
İlk başta Proje dosyamızı oluşturuyoruz.
Proje dosyamızı oluşturduktan sonra araç kutusu üzerinden lazım olan öğeleri koyuyoruz.
Ekledikten sonra ctrl+alt+L tuşuna basıp özellikler bölümü açıyoruz
özellikler sekmesinde proje üzerine sağ tıklayıp ekle butonundan yeni bir klasör oluşturuyoruz ve klasör ismine models adını veriyoruz. (Not: textboxlara ve butonlara isim vermeyi unutmayın.)
bunu yaptıktan sonra aynı işlemi bu sefer models klasörümüz için yapıyoruz ve ekle butonundan bu sefer yeni bir öğe ekle diyoruz açılan pencereden sınıf olanı seçip sendMail.cs ismini veriyoruz.
Kod Aşaması
Açılan kod ekranında aşşağıda verdiğim kodu yazıyoruz.
internal class olarak açılan classımızı public olarak düzeltiyoruz.
public class sendMail
{
public void Microsoft(string GondericiAdSoyad, string GondericiMail, string GondericiSifre, string AliciMail, string Konu, string Mesaj, string DosyaYükle)
{
SmtpClient sc = new SmtpClient();
sc.Port = 587;
sc.Host = "smtp.outlook.com";
sc.EnableSsl = true;
sc.Credentials = new NetworkCredential(GondericiMail, GondericiSifre);
MailMessage mail = new MailMessage();
mail.From = new MailAddress(GondericiMail, GondericiAdSoyad);
mail.To.Add(AliciMail);
mail.Subject = Konu;
mail.IsBodyHtml = true;
mail.Body = Mesaj;
if (!string.IsNullOrEmpty(DosyaYükle))
{
mail.Attachments.Add(new Attachment(DosyaYükle));
}
try
{
sc.Send(mail);
}
catch (Exception ex)
{
Console.WriteLine("Mail gönderimi başarısız oldu: " + ex.Message);
}
}
C#yazdığımız kod içerisinde SmptClient ve NetworkCredential bölümlerinde hata alacağız onların üzerine tıklayıp ctrl+ . ikilisini yapıp ilgili yapıyı yükle diyoruz ve sorun ortadan kalkıyor.
Classımız tamamlandığına göre şimdi butonlarımıza geçiyoruz ve Dosya Yükle butonuna çift tıklıyoruz. Açılan ekranda şu kodları yazıyoruz.
private void Dosya_btn_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Gönderi İçin Dosya Seçebilirsiniz.";
ofd.ShowDialog();
DYukle_txtbox.Text = ofd.FileName;
}
C#Aynı işlemi Gönder butonu içinde yapıyoruz ve bu kodları yazıyoruz.
private void Gonder_txtbox_Click(object sender, EventArgs e)
{
//bu kod eğer textboxlardan boş olan varsa kullanıcıya hata verecek
if (string.IsNullOrWhiteSpace(Gad_txtbox.Text) || string.IsNullOrWhiteSpace(GMail_txtbox.Text) || string.IsNullOrWhiteSpace(GSifre_txtbox.Text) || string.IsNullOrWhiteSpace(Alici_txtbox.Text) || string.IsNullOrWhiteSpace(Konu_txtbox.Text) || string.IsNullOrWhiteSpace(Mesaj_txtbox.Text))
{
MessageBox.Show("Lütfen tüm alanları doldurunuz!", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sendMail sm = new sendMail();
sm.Microsoft(Gad_txtbox.Text, GMail_txtbox.Text, GSifre_txtbox.Text, Alici_txtbox.Text, Konu_txtbox.Text, Mesaj_txtbox.Text, DYukle_txtbox.Text);
MessageBox.Show("Mail gönderildi!", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
C#Uygulamamız artık hazır çalıştırıp test edebiliriz.
Notlar
public class sendMail
{
public void Microsoft(string GondericiAdSoyad, string GondericiMail, string GondericiSifre, string AliciMail, string Konu, string Mesaj, string DosyaYükle)
{
SmtpClient sc = new SmtpClient();
sc.Port = 587;
sc.Host = "smtp.outlook.com";
sc.EnableSsl = true;
sc.Credentials = new NetworkCredential(GondericiMail, GondericiSifre);
MailMessage mail = new MailMessage();
mail.From = new MailAddress(GondericiMail, GondericiAdSoyad);
mail.To.Add(AliciMail);
mail.Subject = Konu;
mail.IsBodyHtml = true;
mail.Body = Mesaj;
if (!string.IsNullOrEmpty(DosyaYükle))
{
mail.Attachments.Add(new Attachment(DosyaYükle));
}
try
{
sc.Send(mail);
}
catch (Exception ex)
{
Console.WriteLine("Mail gönderimi başarısız oldu: " + ex.Message);
}
}
Yukarıda GöndericMail GöndericiSifre ve GöndericiAdSoyad
kısımlarını buradan doldurup form üzerinden gönderici
bilgilerini silerek daha sade bir uygulama elde edebilirsiniz.
C#
İlk Yorumu Siz Yapın