Smtp ile Mail Yollamak

Smtp ile Mail Yollamak

Smtp ile Mail Yollamak

17.9.2015

Smtp nedir?

Simple Mail Transfer Protocol kelimelerini baş harflerinden oluşan Smtp, "Basit mail transfer(Gönderme) protokolü" dür. Giden posta sunucusu olarakta bilinen Smpt mail göndermek için kullanılır. Pop3 ve Imap protokolleriyse gelen posta sunucusu olarak kullanılmaktadır. Smtp posta sunucusu 3. parti yazılımlarla mail gönderirken işimize yarar.

3. Parti mail programlarında yapılması gereken ayarlar nelerdir?

3. Parti mail programın kurulması gereklidir. Giden ve gelen posta sunucu ayarları gerçekleştirilerek, smtp portu girilmelidir.

Smtp portu nedir?

Smtp portu mail gönderirken mail gönderimini üzerinden gerçekleştirdiğimiz bir porttur. Varsayılan olarak 25 numaralı port'tur. Fakat spam mail gönderme olaylarının çoğalmasından ötürü Türktelekom tarafından 25 numaralı port kapatılarak smtp port numarası 587 nolu port olarak değiştirilmiştir. 3 parti mail programınızdada bu portu 587 nolu port olarak ayarlamalısınız.

Smtp port numarasını ayarlamazsam ne olur?

Smtp port numarasını ayarlamazsanız mail gönderme işlemlerinizi gerçekleştiremezsiniz.

3. Parti bir mail programıyla mail gönderme işlemi nasıl gerçekleşir?

3. Parti bir mail programıyla mail göndermeye çalıştığınızda öncelikle girdiğiniz hesap ve port bilgileri üzerinden bağlantı kurulmaya çalışılır. O yüzden hesap bilgilerinizi ve smtp portu gibi bilgileri doğru girmelisiniz. Herşeyi düzgü ayarladıysak bir mail yazdığımızda ve bunu gönder dediğimizde karşı smtp sunucumuz ile 587. port üzerinden bir bağlantı gerçekleşir. Bu port üzerinden kimlik denetlemeleriniz yapılır. Eğer denetleme başarıyla gerçekleşirse göndermek istediğiniz mailiniz gönderilir.

Smtp 25 nolu portun Smtp 587 nolu porttan farkı nedir?

İki stmp portuda aynı işlemi gerçekleştirsede arasındaki temel fark şudur. 25 nolu portta kimlik denetimi zorunlu değilken, 587 nolu portta kimlik denetimi zorunludur böylece spam e-postalarında önüne geçilmeye çalışılmıştır.

Peki .NET Smtp kullanarak nasıl mail yollarım?

  Hadi şimdi gelin beraber buna bakalım. Öncelikle yapmamız gereken System.Net.Mail referansını Smtp'yi kullanmamız için eklememiz  gerekir. Ayrıca System.Text referansını  da UTF8Encoding.UTF8 yani encoding ayarını   yapmamız için eklemeliyiz. Daha sonra ise Port,  Host, EnableSsl (yani güvenli erişim), Timeout, DeliveryMethod ve Credentials ayarlarını    yapmamız gerekmektedir. Bu ayarları  yaptıktan  sonra ise geriye sadece MailMessage nesnesini oluşturup mail yollama işlemini tamamlayabiliriz. Kodlara bakacak olursak  şöyle bir kod bloğu düşünebiliriz.

 SmtpClient client = new SmtpClient(); client.Port = 587; // Genelde 587 ve 25 portları kullanılmaktadır. client.Host = "mail.blogakyol.com"; // Hostunuzun smtp için mail domaini. client.EnableSsl = false; // Güvenlik ayarları, host'a ve gönderilen server'a göre değişebilir. client.Timeout = 10000; // Milisaniye cinsten timeout client.DeliveryMethod = SmtpDeliveryMethod.Network; // Mailin yollanma methodu client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("mailhesabiniz@mail.com", "sifre"); // Burada hangi hesabı kullanarak mail yollayacaksanız onun ayarlarını yapmanız gerekiyor MailMessage mm = new MailMessage("blogAkyol info@blogakyol.com", "info@blogakyol.com", subject, content); // Hangi mail adresinden nereye, konu ve içerik mail ayarlarını yapabilirsiniz mm.IsBodyHtml = true; // True: Html olarak Gönderme, False: Text olarak Gönderme mm.BodyEncoding = UTF8Encoding.UTF8; // UTF8 encoding ayarı mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; // Hata olduğunda uyarı ver client.Send(mm); // Mail yolla

Evet, genel olarak C# ve .NET te mail yollama olayı bu şekildedir. Örnekte gösterilen sadece tek bir kullanıcıya mail yollama olayıdır. Eğer çoklu mail yollamak isterseniz. Şöyle bir kod ekleyebilirsiniz ya da kod bloğunda değişiklik yapabilirsiniz.

MailMessage msg = new MailMessage();
msg.Body = "Örnek Text";
msg.To.Add("ornek@ornek.com");
msg.To.Add("ornek2@ornek2.com");

Ayrıca e-mail sahiplerinin isimlerinin de görünmesini istiyorsanız şöyle bir düzenleme de yapabilirsiniz.

MailAddress to = new MailAddress(String.Format("{0} <{1}>",gorunecek

İLETİŞİM

İletişim Bilgileri

Adres
Kızlarpınarı Mh. Spor Cd. Can Apt. No:28/A Alanya, Antalya
Telefon
(+90) 242-966-2119
Email
info@tulparyazilim.com

İletişime Geç