C# Mail Gönderme İşlemleri
5 Mayıs 2018	0	Yazar: Mustafa BÜKÜLMEZ
C# Mail Gönderme Hatası Çözümü ve X509 Sertifikası
C# Hafta Numarasından O Haftanın İlk Gününü Bulmak
C# Mail Gönderme İşlemleri, yazım ile karşınızdayım. C Sharp Mail Gönderme İşlemleri , şüphesiz ki hemen hemen tüm projelerimizde bizlere lazım olan bir işlemdir. Özellikle erp, crm gibi büyük projelerde mutlaka lazım olan bir işlemdir. Örnek olarak bir satın alma talebi açıldığında ilgili kişilere mail gönderilmesini isteyebiliriz. Yada bir operatör arıza kaydı açtığında bakım departmanındaki bir yetkiliye mail gönderilmesini isteyebiliriz. Bu gibi işlemler projeyi daha profesyonel bir hale getirecektir. Hemde yöneticilerinde hoşuna gidecektir. En çok kullanmamız gerekecek olan kısımlardan birisi de şirket yöneticilerine raporların otomatik olarak mail gönderilmesidir. İnsanların hazırlayacağı raporlardan daha dakik, daha doğru sonuçları içereceklerinden de şüphe duyulmayacaktır. Bu sebeplerde mail gönderme işlemi çok gerekli bir işlem olduğundan bu dersimi de verebildiğim kadar açıklayıcı yazmaya çalışacağım. Gelin C Sharp Mail Gönderme İşlemleri nasıl yapacağımızı görelim.
C Sharp Mail Gönderme İşlemleri
Giriş bölümünde gerekliliklerini belirttim. Bu kısımda direk kodlara geçelim. Kodlarımızla birlikte diğer gerekli açıklamaları da vereceğim.
Öncelikle bu eğitim setimin ilk dersi olan Yazılıma Başlamak Mı İstiyorsunuz? Görmeniz Lazım! yazımda ve hemen hemen tüm yazılarımda sürekli bahsettiğim gibi bir class açıyoruz.
Kendi class’ımı direk sizinle paylaşacağım. Bazı sorunlar sebebi ile çalıştığına emin olduğum kodları değil başka bir projemden bulduğum kodları yazacağım. Büyük ihtimalle çalışıyordur ancak %100 emin değilim. Denemelerini yapıp kontrol edersiniz. Sorun yaşarsanız iletişim sayfamdaki iletişim bilgilerimden yada sosyal medya hesaplarımdan bana ulaşabilirsiniz.
NOT: Aşağıda verdiğim kodlarda c# mail gönderme dosya ekleme işlemi de vardır.
Mail gönderme kodlarımız.
using System.Net.Mail; // mail gönderme işlemleri için gereklidir.
using System.Text.RegularExpressions; // regex komutunu kullanabilmemiz için gereklidir.
public static class SendMail
public static bool Send(string MailHesabi, string MailHesapSifresi, string MailUnvan, string MailAdresi, string MailKonu, string MailIcerik, string MailEkleri, string Pop3Host , int Pop3Port)
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(MailHesabi, MailHesapSifresi);
// mail göndermek için oturum açtık
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); // yeni mail oluşturduk
mail.From = new System.Net.Mail.MailAddress(MailHesabi, MailUnvan); // maili gönderecek hesabı belirttik
mail.To.Add(MailAdresi); // mail gönderilecek adres
mail.Subject = MailKonu; // mailin konusu
mail.IsBodyHtml = true; // mail içeriği html olarak gönderilsin
mail.Body = MailIcerik; // mailin içeriği
mail.Attachments.Clear(); // mail eklerini temizledik
string sonuc1 = Regex.Split(MailEkleri, "/");
// MailEkleri parametresinde mailie ekleyeceğimiz tüm dosyaları aralarına " / " koyarak birbilerine ekledik
foreach (string items in sonuc1)
if (items != "")
mail.Attachments.Add(new Attachment("\\Mail_Eklerinin_Yolu\\" + items));
//  MailEkleri parametresinden gelen veriyi " / " işareti sayesinde parçaladık.
// Kaydettiğimiz yerin yolunu ile birlikte dosyaları aldık ve maile ekledik.
// göndereceğimiz maili hazırladık.
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(Pop3Host, Pop3Port); // smtp servere bağlandık
smtp.UseDefaultCredentials = false; // varsayılan girişi kullanmadık
smtp.EnableSsl = true; // ssl kullanımına izin verdik
smtp.Credentials = cred; // server üzerindeki oturumumuzu yukarıda belirttiğimiz NetworkCredential üzerinden sağladık.
smtp.Send(mail); // mailimizi gönderdik.
// smtp yani Simple Mail Transfer Protocol üzerinden maili gönderiyoruz.
Kodlarımızın hepsi yukarıdaki gibidir. Kodları biraz açıklamak gerekirse;
Yukarıdaki mail gönderme işlemi POP3 üzerinden mail gönderme işlemidir. POP3 host ve Port numaralarını hangi şirket ile çalışıyorsanız o şirketten almanız gerekmektedir. Gmail, hotmail gibi mailleri kullanıyorsanız bu bilgileri internette rahatlıkla bulabilirsiniz.
NOT: GMAIL üzerinden mail gönderebilmeniz için, mail göndereceğiniz hesapta oturum açtıktan sonra “https://myaccount.google.com/lesssecureapps?pli=1” bu adrese giderek Daha az güvenli uygulamalara izin ver: KAPALI ayarını AÇIK olarak değiştirmelisiniz. Aksi takdirde mailler gönderilmeyecektir.
Kodlarımızı try catch içerisine aldık. Mail gönderilmez ise metodumuz false, gönderilirse true değer gönderecektir. Bizde bu şekilde mailin durumunu anlayabileceğiz.
Bu kodları IMAP üzeriden mail gönderecek şekilde ayarlayabilirsiniz. Ancak bazı farklılıklar olabilir. Bu farklılıklar tüm kodları değiştirmenizi gerektirecek kadar çok ise, yine bu class içerisine bir metod daha tanımlarsınız, IMAP ve POP3 olarak adlarını değiştirir rahatlıkla kullanırsınız.
C Sharp Mail Gönderme İşlemleri , dersimiz de bu kadar dostlar. Diğer c sharp eğitimleri derslerimizde görüşmek üzere…
Etiketlerc sharp eğitimleri c# mail gönderme c# mail gönderme dosya ekleme c# mail gönderme gmail c# mail gönderme hatası c# mail gönderme hotmail c# mail gönderme kodları c# mail gönderme programı C# pop3 mail gönderme