Asp.net ile Mail Gönderme(İletişim Formu)

Muhammet Ali
20 Haziran 2016 Pazartesi
3

Merhaba Arkadaşlar 

Özellikle İletişim sayfalarında sıkça karşılaştığımız irtibat formlarının code behind kısmını göreceğiz.Sizde web sitenize böyle bir sayfa ekleyerek kullanıcılarınızdan gelen mesajları belirtmiş olduğunuz mail adreslerinize düşürebilirsiniz.

Öncelikle bir form alanımız olacak.Bunu kendiniz tasarımını yapabilmenizin yanında eğer template editliyorsanız ki neredeyse tüm templatelerde iletişim sayfası mevcut.Bu makalede tasarım tarafına girmeyeceğim.Bizim için önemli olan code behind kısmı.

Form taramızda Ad,Soyad,Konu,Şehir,Mesaj,Mail textboxları ve birde gönder butonumuz olacak.Gönder butonu click ine aşağıdaki kodu yazıyoruz.

 

protected void btnGonder_Click(object sender, EventArgs e)
        {
            try
            {
                    MailMessage msg = new MailMessage();//yeni bir mail nesnesi Oluşturuldu.
                    msg.IsBodyHtml = true; //mail içeriğinde html etiketleri kullanılsın mı?
                    msg.To.Add("destek@kodyazanbilisim.com");//Kime mail gönderilecek.
                    msg.From = new MailAddress("destek@kodyazanbilisim.com", "Kodyazan İletişim Sayfası", System.Text.Encoding.UTF8);//mail kimden geliyor, hangi ifade görünsün?
                    msg.Subject = "Siteden gelen mesaj (İletişim formu)";//mailin konusu
                    msg.Body = "Ad:" + txtAd.Value + "<br>Email:" + txtEmail.Value + "<br>Şehir:" + drpil.SelectedItem.Text + "Konu:" + txtKonu.Value + "<br>Mesajı:" + txticerik.Value;//mailin içeriği
                    msg.IsBodyHtml = true;
                SmtpClient smp = new SmtpClient();
                    smp.Credentials = new NetworkCredential("xxx@gmail.com", "xxxxx");//mailin gönderileceği adres ve kullanıcı adı,şifresi
                    smp.Port = 587;
                    smp.Host = "smtp.gmail.com";//gmail üzerinden gönderiliyor.
                    smp.EnableSsl = true;
                    smp.Send(msg);//msg isimli mail gönderiliyor.
                    label.Text="Mail Başarılı bir şekilde gönderildi";
             
            }
            catch (Exception)
            {

            }
        }

Evet arkadaşlar code behind kısmımız bu şekilde.Bu örnekte gmail üzerinden mail gönderme yaptım.Siz farklı mail platformu kullanmak isterseniz Port,Host ve EnableSSL kısımları değişiklik göstericektir.Bu alanları kulladığınız mailin ayarlarından veya internet ortamından ulaşabilirsiniz.

İyi Çalışmalar.



yorumlar
64x64

fuat

3 Şubat 2017 Cuma

Merhaba, ben formu yaptım çalışıyor. Ancak textbox içi boşken de gönderiyor. Boş mail geliyor. Ben textboxlar boşken mail göndermesin istiyorum. Bunun için ne yapabilirim

64x64

fuat

3 Şubat 2017 Cuma

Merhaba, ben formu yaptım çalışıyor. Ancak textbox içi boşken de gönderiyor. Boş mail geliyor. Ben textboxlar boşken mail göndermesin istiyorum. Bunun için ne yapabilirim

64x64

Muhammet Ali

7 Şubat 2017 Salı

merhaba fuat,

Bunu iki şekilde çözebilirsin.ilk olarak asp validation dediğimiz textboxların boş olup olmamasını kontrol ettiren ve doldurmadan butona tıklamayı engelleyen yapıyı kullanmak.Bunun ile alakalı makale paylaşacağım yakın zamanda.

ikinci seçeneğin ise mesajgonderme  işlemi yaptıüın yerin endışına aşağıdaki gibi koşıl yazmak

if(txtad.text!="" || txtmail.text!="")
{
//mail işlemleri

}else
mbox("Boş alanlar var");

ben kesinlikle validation kullanmanı oneririm.Her gorsel hemde kullanış açısından daha pratik olucaktır.

Yorum yaz