Asp.Net’te Mail Gönderme

.Net’te Mail gönderme işlemi çok sık kullanılan ve gayette kolay olan bir sistemdir.Hemen hemen bütün web sitelerinin hepsinde bu sistem kullanılır. Bu yüzden hemen projeyi yapmaya başlayalım.

Bu sistemi oluşturabilmek için ilk olarak Visual Studio’da bir Web Servis açmalısınız.

Daha sonra bu web servise aşağıdaki resimdeki gibi bir arayüz oluşturmalısınız. Ben bu arayüzü Html table,buton,label ve textArea kullanarak oluşturdum.

Image

Arayüzümüz hazır olduğuna göre artık kodlama kısmına geçebiliriz. Bu yüzden Send Message isimli butonumuzun Click eventine aşağıdaki kodları yapıştırıyoruz. Aşağıdaki kodların çalışması için ilk olarak

using System.Net;
using System.Net.Mail;

bu iki kütüphaneye dahil etmeniz gereklidir.

             MailMessage e_posta = new MailMessage();
            //yeni bir  mailmesage nesnesi tanımladık
            e_posta.From = new MailAddress("gamzepolat77@gmail.com");
            //from method'u mesajın kimden gönderilecegini
            e_posta.To.Add(email.Text);
            //mesaj gönderilecek kişilerin bilgilerini To.Add method'u saysinde ekledik bu birden fazlada olabilir
            e_posta.Subject = subject.Text;
            //Subject method'uyla konu ne olacagını atadık
            e_posta.Body = message.Text;
            // body method'u sayasinde icerik kısmının text öazelligine yazılan metni atamış olduk
            e_posta.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient("smtp.gmail.com");
            smtp.EnableSsl = true;
           smtp.UseDefaultCredentials = false;
            smtp.Credentials = new NetworkCredential("gamzepolat77@gmail.com", "12345");
           //gönderenin mail adresi ve şifresini girmiş olduk.
            smtp.Port = 587;
            try
            {
                smtp.Send(e_posta);
                Response.Write("// ");
            }
            catch(Exception exp)
            {
                Response.Write(exp);
                Response.Write("// ");
            }

Bu sistemi uyguladığınız da düzgün bir şekilde çalıştığını göreceksiniz.Eğer “the remote certificate is invalid according to the validation procedure” şeklinde bir hata alırsanız bunu da mail gönderme işlemi yapmadan önce

“//  ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };”

yukarıdaki kodu yazarsanız çalışır.Ancak bu kod nerdeyse bütün güvenliği ortadan kaldırdığı için çok tavsiye edilen bir yöntem değildir.

Reklamlar