JavaScript Mail Formatı Kontrolü

Javascript ile formlardaki mail boxlarımızın, gönderilmeden önce uygun formatta olup olmadığı kontrolünü yapabiliriz. Bu sayede sunucuya göndermeden kullanıcıya hata bilgisini verebiliriz.

Dikkat: Güvenlik için her zaman sunucu tarafında da kontrol yapmamız gereklidir. Kullanıcı Javascript’leri kapatabilir dolayısı ile kontrollerimiz deaktif yapılabilir..


</head>
<script type="text/javascript">

function mailKontrol()
{
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var mail = document.getElementById("mail").value;
if(reg.test(mail) == false) 
    {
      alert('Hatalı Mail Formatı!');
      return false;
    }
else{
      alert('Dogru Mail Formatı.');
      return true;	  
    }
}

</script>
</head>

<body>
<form id="frm">

<input type="text" id="mail" /> Mail: </br>
<input type="button" value="gönder" onclick="mailKontrol()" />

</form>
</body>

C# Program Üzerinden Mail Gönderme

Öncelikle mailimizi göndermek için bir sınıf oluşturalım. Sonrasında bu sınıfa mail gönder methodu ekleyelim.


using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
using System.Net;


public class MailSender
{

    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
    System.Net.NetworkCredential cred = new System.Net.NetworkCredential("mailadresim@gmail.com", "şifremiz");

	public MailSender()
	{
          //Constructor'umuz
	}

    public void SendMail(string to, string subject, string message, string name)
    {
        try
        {

            mail.To.Add(to);
            mail.Subject = subject;
            mail.From = new System.Net.Mail.MailAddress(to, name);
            mail.IsBodyHtml = true;
            mail.Body = message;
            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com");
            smtp.UseDefaultCredentials = false;
            smtp.EnableSsl = true; 
            smtp.Credentials = cred; 
            smtp.Send(mail);
        }
        catch (Exception)
        {
           //hata durumunda çalışacak kodlarımız
        }
    }

}

Sınıfımıza ait bir SendMail() methodu oluşturduk. Bu methodumuz 4 adet parametre almaktadır. Eğer gönderilecek mail hesabının da dinamik olmasını istiyorsak bunları da parametre olarak almalıyız. Şuanda gmail’in smtp sunucusu mail adresimiz ve şifremiz default olarak belirli.

Şimdi de bu methodumuzu çağıralım.


        MailSender ms;
        ms = new MailSender();
        ms.SendMail(adres, baslik, içerik, isim);