İçeriğe geç

C# Programlama Dili İle Mail Gönderme Programı

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.

form görünüm.

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.)

Projeye dosya ekleme.

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.

Kod içerisinde alınan hatanın çözümü.

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#
Kategori:BlogProjeler

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir