Daha önce C# ile GMail üzerinden e-posta gönderme yazısında yazdığımız e-posta gönderme uygulamasını bu sefer Hotmail üzerinden e-posta gönderecek şekilde yazacağız.
Windows uygulamalarınız üzerinden e-posta gönderebilmek güzel bir özellik.
Uygulama içerisinden e-posta gönderme konusunda ilk akla gelen sorulardan bir tanesi, “Hotmail üzerinden e-posta gönderebilir miyim?” oluyor.
Bu yazımda, Hotmail üzerinden e-posta gönderebileceğimiz bir uygulama geliştireceğim.
Öncelikle kodumuzun using kısmına System.Net ve System.Net.Mail namespace’ini eklememiz gerekiyor.
.Net Framework, System.Net.Mail namespace‘i içerisinde çeşitli class‘lar aracılığı ile uygulamanız içerisinden kolaylıkla e-posta gönderilmesini mümkün kılıyor.
using System.Net.Mail; using System.Net;</pre>
İlk yapmamız gereken, SmtpClient sınıfından bir örnek oluşturmak ve bazı özelliklerini ayarlamak.
SmtpClient sc = new SmtpClient(); sc.Port = 587; sc.Host = "smtp.live.com"; sc.EnableSsl = true;
Port özelliği ile, Smtp sunucusuna erişeceğimiz port numarasını belirliyoruz
Host özelliği ile, Hotmail Smtp sunucusunun adresini belirliyoruz
EnableSsl özelliği ile, Hotmail Smtp sunucusuna bağlanacağımız protokolu belirliyoruz. Eğer true değer atarsak https, eğer false değer atarsak http protokolü kullanılır.
Hotmail e-posta adresimizi ve şifremizi, Credentials özelliğine NetworkCredential sınıfından bir örnek ile atamamız gerekiyor.
sc.Credentials = new NetworkCredential("eposta@hotmail.com", "hotmail_sifre");
SmtpClient örneği üzerinden gönderilecek posta, MailMessage tipinde olmalıdır. Bir sonraki adımda MailMessage sınıfından bir örnek oluşturuyoruz.
MailMessage mail = new MailMessage(); mail.From = new MailAddress("eposta@hotmail.com", "Ekranda Görünecek İsim"); mail.To.Add("alici1@mail.com"); mail.To.Add("alici2@mail.com"); mail.CC.Add("alici3@mail.com"); mail.CC.Add("alici4@mail.com"); mail.Subject = "E-Posta Konusu"; mail.IsBodyHtml = true; mail.Body = "E-Posta İçeriği"; mail.Attachments.Add(new Attachment(@"C:\Rapor.xlsx")); mail.Attachments.Add(new Attachment(@"C:\Sonuc.pptx"));
Son olarak, SmtpClient sınıfının Send() method’unu kullanarak, oluşturduğumuz MailMessage örneğini gönderiyoruz.
sc.Send(mail);
Kodların toparlanmış hali;
using System; using System.Net.Mail; using System.Net; class Program { static void Main(string[] args) { SmtpClient sc = new SmtpClient(); sc.Port = 587; sc.Host = "smtp.live.com"; sc.EnableSsl = true; sc.Timeout = 50000; sc.Credentials = new NetworkCredential("eposta@hotmail.com", "hotmail_sifre"); MailMessage mail = new MailMessage(); mail.From = new MailAddress("eposta@hotmail.com", "Ekranda Görünecek İsim"); mail.To.Add("alici1@mail.com"); mail.To.Add("alici2@mail.com"); mail.CC.Add("alici3@mail.com"); mail.CC.Add("alici4@mail.com"); mail.Subject = "E-Posta Konusu"; mail.IsBodyHtml = true; mail.Body = "E-Posta İçeriği"; mail.Attachments.Add(new Attachment(@"C:\Rapor.xlsx")); mail.Attachments.Add(new Attachment(@"C:\Sonuc.pptx")); sc.Send(mail); } }
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484