Asp.Net ve C# ile E-mail Gönderme
Merhaba arkadaşlar bugün sizlere asp.net veya c# ile kullanabileceğiniz e-mail gönderme fonksiyonu paylaşacağım. Bu fonksiyonu ister asp.net web form ,isterseniz C# form uygulamalarında kullanabilirsiniz. İlk olarak projenize using System.Net.Mail kütüphanesini MailMessage objesini kullanabilmeniz için eklemeniz gerekmektedir.
public void SendEmail(String targetemail, String message) { try { MailMessage msg = new MailMessage(); msg.From = new MailAddress("sizin mail adresiniz"); msg.To.Add(new MailAddress(targetemail)); msg.Subject = "Email Konusu"; msg.Body = message; SmtpClient mySmtpClient = new SmtpClient(); System.Net.NetworkCredential myCredential = new System.Net.NetworkCredential("username", "password"); mySmtpClient.Host = "smtp.gmail.com"; // host adresi ben default olarak gmail paylaşıyorum. mySmtpClient.Port = 587; // smtp port no mySmtpClient.EnableSsl = true; mySmtpClient.UseDefaultCredentials = false; mySmtpClient.Credentials = myCredential; mySmtpClient.Send(msg); msg.Dispose(); } catch (Exception exp) { LabelWarning.Text = "Email could not be sent !"; using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/log.txt"), true)) { _testData.WriteLine(DateTime.Now.ToString("[dd/MM/yyyy] [HH:mm:ss]") + exp); } } }
Kod’a kısacak bakmak gerekirse, herhangi bir hataya karşı try catch yapısı kullandık ve eğer hata oluşursa LabelWarning textbox’ına email gönderilemedi yazıyoruz ve hatanın detaylı ayrıntısını Streamwriter yardımı ile ana dizininize log dosyası oluşturup içerisine ekleyecek.DateTime.Now.ToString ile hatanın çıktığı zamanıda log.txt dosyasına eklemiş oluyoruz.
Fonksiyona parametre olarak 2 String değer göndermeniz gerekmektedir. İlk olarak emailin kime gönderileceğinin adresi ikinici olarak yazacağınız iletiz olmalıdır.