Bu makalede System.Net.Mail isim alanı kullanılarak mail gönderme işlemi anlatılmıştır. Bir mail içerisinde Html - Text gönderiminin nasıl yapıldığı,

SMTP ile Gmail' den Mail Gönderme

              Bu işlem için gönderici adresin kullanıcı bilgilerini bilmemiz gerekmektedir. Yani gmailden mail göndereceksek gönderen adresin şifresini bilmeliyiz. Daha sonra smtp kullanılarak 587 nolu port üzerinden mail göndereceğiz.Mail sınıfı System.Net.Mail namespacesini kullanmaktadır.
Kodun Tamamı:

void MailGonder()
        {
            SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
 
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("yavuzaydogan@gmail.com", "Yavuz Aydoğan");
            mail.Priority = MailPriority.High;
 
            mail.Subject = "mailimin konusu";
            mail.To.Add(new MailAddress("yavuzaydogan60@hotmail.com","Yavuz Aydoğan"));
            mail.Body = "mesajım";
            mail.IsBodyHtml = true;
 
 
            NetworkCredential girisIzni = new NetworkCredential("yavuzaydogan@gmail.com", "orneksifre1234");
            client.EnableSsl = true;
            client.Credentials = girisIzni;
            client.Send(mail);
         }
     

                     Gelelim kodumuzun açıklamasına.Önce  geriye değer dönmeyen MailGonder() adında bir metod tanımlıyoruz. Daha sonra maili hangi adresten, hangi port üzerinden göndereceğimizi belirtiyoruz.Mail classından mail ismi ile bir referans tanımlıyoruz.

void MailGonder()
        {
            SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
 
            MailMessage mail = new MailMessage();


                    Bu işlemden sonra göndericiye ait bilgileri giriyoruz. Önce mail adresini, daha sonra mailin görüntülenirken hangi başlık ile görüntülenmesini istiyorsak onu yazıyoruz. Daha sonra mailimizin içeriğinin html olup olmadığını belirtiyoruz. Burası önemli arkadaşlar. Eğer mailimizin isBodyHtml özelliğini true yapmazsak mailimiz text olarak algılanıyor ve düz bir yazı gibi gidiyor. Eğer isBodyHtml özelliğini true yaparsak içerisine her türlü html kodu yazabilirsiniz. Html sayfası gibi mail gönderebilirsiniz. mail.Priority özelliği mailimizin yüksek önem derecesinde gönderildiği manasına geliyor. Kullanıp kullanmamak sizin tercihinize kalmış.

 

            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("yavuzaydogan@gmail.com", "Yavuz Aydoğan");
            mail.Priority = MailPriority.High;


                   Aşağıdaki bölümde ise Subject özelliği mailin konusunu belirtiyor. Mail.To.Add() metodunda maili kime göndereceğimizi belirtiyoruz. Eğer birden fazla kişiye göndermek isterseniz, bu kod satırını birden fazla kullanarak daha fazla adres ekleyebilirsiniz.Mail.Body() kısmı ise mailimizin içeriği. Html de yazsak, text de yazsak yazdığımız string mesajı bu özelliğe atıyoruz.

 

 

                                mail.Subject = "mailimin konusu";
            mail.To.Add(new MailAddress("yavuzaydogan60@hotmail.com","Yavuz Aydoğan"));
            mail.Body = "mesajım";
            mail.IsBodyHtml = true;


                  Alt kısımda ise kullanıcı adı ve şifremizi veriyoruz ve gmail üzerinden doğrulama yaparak mailimizi gönderiyoruz.

 

 

            NetworkCredential girisIzni = new NetworkCredential("yavuzaydogan@gmail.com", "orneksifre1234");
            client.EnableSsl = true;
            client.Credentials = girisIzni;
            client.Send(mail);


                Eğer  mailde dosya da göndermek istersek bu işlem için de mail.Attachments.Add(Attachment nesnesi) metodunu kullanacağız. Bu işlemide aşağıdaki kod parçacığı ile yapabilirsiniz.Aşağıda dosya adı yazan kısma uygulamada açtırdığınız bir openFileDialog nesnesinden gelen bir dosya adını verebilirsiniz.Yine bu işlemde de mail.Attachments.Add() satırını birden fazla kullanarak eklentilerinizi birden fazla da gönderebilirsiniz.

 

 

            Attachment eklenti= new Attachment("dosya adı");
            mail.Attachments.Add(eklenti);


             Ayrıca bizim direkt olarak verdiğimiz özellikleri(mesaj konusu, gönderen, alıcı gibi) metoda dışarıdan parametre vererek hem sabitlememiş olursunuz, hemde ihtiyac duydugunuzda tekrar aynı metodu yazmak zorunda kalmadan birden fazla yerde kullanabilirsiniz.

 

İlgili Makaleler

Bu yazıya 0 yorum yapılmış.

Yorum Gönder