asp.net e-mail gönderme - Selim Özdem
16 Kasım 2018, Cuma
Home / Asp.Net / asp.net e-mail gönderme
.net mail gönder
.net mail gönder

asp.net e-mail gönderme

Mail gönderme işlemine geçmeden önce; bu işlemi bir mail sunucusu üzerinden yapacağımızı belirteyim. Aşağıda göreceğiniz gibi ben gmail altyapısını kullanarak bu işlemi gerçekleştiriyorum. Gmail bu işlemde güvenlik için bir önlem aldı. 

 

 “SMTP sunucusu güvenli bir bağlantı gerektiriyor veya istemcinin kimliği doğrulanmadı” hatası ya da “Mesajınız iletilmedi, yeniden deneyin!” uyarısı alıyorsak; https://myaccount.google.com/lesssecureapps  linkine tıklayarak daha az güvenli uygulamaların hesabımız üzerinden mail gönderimine izin vermemiz gerekmektedir.  

Bu yazımızda çoğu web sitesinde bulunan iletişim formlarının .net üzerinde yapımı ve çalışma mantığını kavramaya çalışacağız. İletişim sayfası bir web sitesinin olmazsa olmazlarından olduğu gerçektir. Öncelikle form verilerimizi alacağımız sayfanın tasarımını oluşturup, textbox ve label nesnelerimizi form üzerine yerleştirelim.

Visual Studio asp.net projemizde e-mail, e-posta gönderebilmek için

iletisim.aspx sayfamızı aşağıdaki gibi oluşturalım

<body>
  <form id="form1" runat="server">
    <div class="modal fade" id="contact" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal"  aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="H1">Bize Ulaşın !</h4>
          </div>
          <div class="modal-body">
            <label for="txtFormName" class="col-xs-3">Ad ve Soyad:</label>
            <asp:TextBox ID="txtFormName" runat="server" class="form-control input-sm" placeholder="Adınız ve soyadınız..."></asp:TextBox><br />
            <label for="txtFormMail" class="col-xs-3">Mail Adresi:</label>
            <asp:TextBox ID="txtFormMail" runat="server" class="form-control input-sm" placeholder="Mail adresiniz..."></asp:TextBox><br />
            <label for="txtFormSubject" class="col-xs-3">Konu:</label>
            <asp:TextBox ID="txtFormSubject" runat="server" class="form-control input-sm" placeholder="Ne hakkında..."></asp:TextBox><br />
            <label for="txtFormMsg" class="col-xs-3">Mesaj:</label>
            <asp:TextBox ID="txtFormMsg" runat="server" class="form-control input-sm" TextMode="MultiLine" Rows="5"></asp:TextBox><br />
            <asp:Label runat="server" ID="lblFormResult" style="float:right;width:380px;"></asp:Label>
            <asp:Button Text="Gönder" runat="server" class="btn btn-primary" OnClick="btnForm_Click" />
          </div>
        </div>
      </div>
    </div>
  </from>
</body>

iletisim.aspx.cs ile gönder butonumuza tıklandığında form verilerinin gönderileceği mail adresi ve diğer detayları belirliyoruz, ben gmail hesabimi kullaniyorum siz baska hesap kullaniyorsaniz onun smtp bilgilerini belirtmeniz gerekmekte;

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

protected void btnForm_Click(object sender, EventArgs e)
        {
            MailMessage mm = new MailMessage();
            mm.To.Add("mail göndermek istediğiniz adres@gmail.com");
            mm.From = new MailAddress(txtFormMail.Text, txtFormName.Text);
            mm.Subject = txtFormSubject.Text;
            mm.IsBodyHtml = true;
            mm.BodyEncoding = Encoding.GetEncoding(1254);
            mm.Body = txtFormMsg.Text + "<br /><hr /><h2>Bu mail size iletişim formundan gönderilmiştir!</h2>";

            System.Net.NetworkCredential nc = new System.Net.NetworkCredential("mail adresiniz@gmil.com", "şifreniz");
            SmtpClient sc = new SmtpClient();
            sc.Credentials = nc;
            sc.Host = "smtp.gmail.com";
            sc.Port = 587;
            sc.EnableSsl = true;

            try
            {
                sc.Send(mm);
                lblFormResult.Text = "<p style=" + "color:#7ede95" + ">İlginiz için teşekkür ederiz!</p>";
                txtFormMail.Text = "";
                txtFormMsg.Text = "";
                txtFormName.Text = "";
                txtFormSubject.Text = "";
            }
            catch (Exception)
            {
                lblFormResult.Text = "<p style=" + "color:red" + ">Mesajınız iletilmedi, yeniden deneyin!</p>";
            }
        }

Bu yazımızda visual studio, asp.net üzerinden nasıl e-mail gönderilir sorusuna cevap olacak bilgileri okudunuz. 

Yazar: sozdem .

Buna da Göz Atın!

“Visual web developer was unable to determine the encoding of this file. Please choose an encoding from the list box below” Hatası ve Çözümü

“Visual web developer was unable to determine the encoding of this file. Please choose an …