Imports System.Net Imports System.Net.Mail Imports System.Web.Script.Serialization Partial Class iletisim_keso Inherits System.Web.UI.Page Private Sub gonder_Click(sender As Object, e As EventArgs) Handles gonder.Click ASPPLUS_Webmail() End Sub Protected Sub ASPPLUS_Webmail() '------------------------------------------ lblResult.Text = "" Dim useGoogleRecaptcha As Boolean = True ' Bu değeri config'den alabilirsiniz If useGoogleRecaptcha Then ' V2 Token'ını yakalama: g-recaptcha-response adıyla gelir Dim recaptchaToken As String = Request.Form("g-recaptcha-response") ' Hata Kontrolü 1: Token boş mu? (Kullanıcı kutucuğu işaretlemedi) If String.IsNullOrEmpty(recaptchaToken) Then lblResult.Text = "Lütfen robot olmadığınızı doğrulayın." Exit Sub End If ' Hata Kontrolü 2: Token Google'da geçerli mi? If Not VerifyRecaptcha(recaptchaToken) Then lblResult.Text = "Robot doğrulama başarısız oldu. Lütfen tekrar deneyiniz." Exit Sub End If End If ' >>> RECAPTCHA DOĞRULAMASI BAŞARILI. MAİL GÖNDERME KISMI BAŞLAR. <<< '------------------------------------------ Dim client As New SmtpClient Dim mail2 As New MailMessage() client.UseDefaultCredentials = False client.Credentials = New System.Net.NetworkCredential("sitedenmail@adanet.gen.tr", "72740204") client.Port = "587" 'cannot be read client.EnableSsl = vbFalse 'cannot be read client.Host = "mail.adanet.gen.tr" 'cannot be read mail2 = New MailMessage() mail2.From = New MailAddress("sitedenmail@adanet.gen.tr", "KESO") mail2.To.Add("keso@keso.org.tr") mail2.Subject = "WEB SİTENİZDEN İLETİŞİM FORMU" mail2.IsBodyHtml = True Dim HTMLmessage As String HTMLmessage = "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "İLETİŞİM FORMU" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "

" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "


" HTMLmessage = HTMLmessage & "İLETİŞİM FORMU" HTMLmessage = HTMLmessage & "


" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "
Gönderen" & isim.Text & "
E-posta" & email.Text & "
Telefon" & tel.Text & "
Mesaj" & mesaj.Text & "
Tarih" & Now() & "
IP" & Request.ServerVariables("REMOTE_ADDR") & "
" HTMLmessage = HTMLmessage & "" HTMLmessage = HTMLmessage & "" mail2.Body = HTMLmessage Try client.Send(mail2) mesaj.Text = "MESAJINIZ GÖNDERİLDİ, TEŞEKKÜRLER" tostbody.Attributes("class") = "toast-body bg-success text-white" Dim sb As New StringBuilder() sb.Append("") ClientScript.RegisterClientScriptBlock(Me.GetType(), "toastScript", sb.ToString()) gonder.Enabled = "False" gonder.Text = "GÖNDERİLDİ" Catch ex As Exception mesaj.Text = "MESAJINIZ GÖNDERİLEMEDİ, TEKRAR DENEYİN !!!" tostbody.Attributes("class") = "toast-body bg-success text-white" Dim sb As New StringBuilder() sb.Append("") ClientScript.RegisterClientScriptBlock(Me.GetType(), "toastScript", sb.ToString()) gonder.Enabled = "False" gonder.Text = "GÖNDERİLEMEDİ" End Try End Sub ' <<< RECAPTCHA V2 DOĞRULAMA FONKSİYONU >>> Private Function VerifyRecaptcha(recaptchaResponse As String) As Boolean Try ' Secret key'i web.config'ten alıyoruz Dim secretKey As String = ConfigurationManager.AppSettings("RecaptchaSecretKey") Using wc As New WebClient() Dim values As New NameValueCollection() values.Add("secret", secretKey) values.Add("response", recaptchaResponse) ' V2 API'ye POST isteği gönderimi Dim respBytes = wc.UploadValues("https://www.google.com/recaptcha/api/siteverify", "POST", values) Dim respString = Encoding.UTF8.GetString(respBytes) Dim js As New JavaScriptSerializer() Dim dict = CType(js.DeserializeObject(respString), Dictionary(Of String, Object)) ' V2'de sadece "success" alanının "true" olup olmadığına bakılır. If dict IsNot Nothing AndAlso dict.ContainsKey("success") Then Return Convert.ToBoolean(dict("success")) End If End Using Catch ex As Exception ' Ağ veya API hatası durumunda false döner. End Try Return False End Function End Class