Daha çok iletişim, parola, görüş öneri formu gibi işlemlerde işimize yarayan, database i teğet geçen smtp servisinin sağladığı bu sistemi Asp.net de de kullanılabilmekteyiz. Günlük 200 adet(tahmini değer) smtp mail gönderim limti olan gmail bu servisi kullananlar için rağbet görmekte.
Bir kaç satır kod ile Asp.net ile de gönderebileceğiniz smtp mail sistemini küçük bir örnekle uygulayalım. Resimdeki gibi bir form ekranı hazırlayarak smtp mail işlemine başlayabiliriz. Bunu yapmadan önce elinizin altında fazla kullanmadığınız gmail hesabınız olması gerekmekte.
3 label, iki textbox ve bir buton yeterli olacaktır. 3. labelı hata mesajı göstermek için kullanmalıyız. Gerekli form tasarımını hazırladıktan sonra gönder butonuna çift tıklayıp kod kısmına atlayabiliriz.
SmtpClient ve NetworkCredential için ;
[cc lang=”c#”]using System.Net.Mail;
using System.Net;[/cc] eklemeniz gerekmekte.
[cc lang=”c#”] protected void Button1_Click(object sender, EventArgs e)
{
try
{
SmtpClient baglanti = new SmtpClient();
MailMessage mesaj = new MailMessage();
mesaj.To.Add(“alici@hotmail.com”); //mail göndermek istediğiniz herhangi bir hesap, hotmail, isim@alanadi.com vs hesap farketmez
mesaj.From = new MailAddress(“deneme@gmail.com”); //buradaki hesap üzerinde gönderi yapılacak, gmail hesabı
mesaj.Subject = “Asp Net Smtp Mail Gönderim Denemesi”;
mesaj.IsBodyHtml = true;
mesaj.Body = “Adı : ” + TextBox1.Text + “
” + “Soyadı : ” + TextBox2.Text; //daha fazla parametre için form tasarımı buradan yapılabilir, gidecek olan içerik burada hazırlanmakta
NetworkCredential guvenligonderi = new NetworkCredential(“deneme@gmail.com”, “12345”); //gmail kullanıcı adı ve şifreniz
baglanti.Credentials = guvenligonderi;
baglanti.Port = 587; //gmail port nurası Türkiye için 587
baglanti.Host = “smtp.gmail.com”;
baglanti.EnableSsl = true;
baglanti.Send(mesaj);
Response.Redirect(“mesaj.aspx”); //gönderi yapıldıktan sonra otomatik yönelecek sayfayı buraya yazabilirsiniz
}
catch (Exception)
{
Label1.Text = “Lütfen Tekrar Gönderin”; //gönderide hata olursa buradaki mesaj devreye girmekte
}
}[/cc]
Button1_Click olayına yukarıdaki gibi kodları uygulayıp gereken yerlere kendi gmail hesap ve şifrenizi girip deneme amaçlı alıcı kısmına diğer e posta adresinizi girerek Asp.net smtp mail gönderimini deneyebilirsiniz. Gereken açıklama kodlar içinde mevcut. mesaj.Subject alanı mailin başlık alanı, mesaj.Body gövde yani mailin içerik alanını teşkil etmekte.
Not: Buradaki hesap deneme amaçlı yazılmıştır. Bu yüzden çalışamayabilir, kendi gmail hesap ve şifre bilgileriniz girmeniz gerekir.
Emeğine sağlık Murat.. 😉
hocam çok güzel anlatmışsınız çok işime yaradı tşk ederim
helal olsun uzun zamandır yapmak istediğim bi şeydi asp mail göndermek ve çok güzel anlatmışsınız bu siteyi tavsiye edecem herkese 🙂
SmtpClient baglanti = new SmtpClient();
bu kodda hata var yardım ederseniz sevinirim
herhangi bir smtp server v.s. kurmak veya kurulu olması gerekıyor mu? Yoksa normal visual stdioda kodu derleyince çalışacak mı?
gerek yok gmail hesabı aç bilgilerini kod içine yaz yeter
Paylaşımınız için teşekkürler çok faydalı oldu özellikle html bölümü