Web siteleri aracılığıyla otomatik e-posta göndermek giderek her sitede standart olmaya başladı , örneğin çeşitli bilgilendirmeler , bültenler , hatırlatmalar vs. Eğer sitenizi host ettiğiniz sunucuda alan adınıza bağlı SMTP sunucusu bulunmuyorsa veya sunucunuz üzerinde uğraşmak istemiyorsanız , herhangi bir ücretsiz ( Gmail , Live Mail ) gibi servislerin smtp sunucularını kullanarak e-postalarınızı o servislerde bulunan e-postanızdan gönderebilirsiniz. Ayrıca benim yaptığım gibi alan adınıza bağlı e-postalarınızı GMail üzerinde kayıt edip , e-postalarınızı GMail serverlarında tutarak GMail’in bütün hizmetlerinden yararlanabilirsiniz. Bunu nasıl gerçekleştirebileceğimizi “ Alan Adınız'daki E-Postalarınızı GMail'de Barındırın “ blog yazımdan öğrenebilirsiniz.

       Aşağıdaki eklediğim C# fonksiyonı genel ihtiyaçları karşılayacak şekilde hazırladım. Bir mail gönderebilmek için bir e-posta adresine giriş yapılıp onun sunucuları üzerinden gönderilmesi gerekiyor , o yüzden “fromMail” ve “fromPassword” parametrelerine kendi e-postanızı ve şifrenizi girmeniz gerekiyor. Ayrıca bir de SMTP sunucusu tanımlamanız gerekiyor , hangi e-postadan gönderiliyorsa onun SMTP sunucusu. Başlıkta yazdığım gibi iki tane örnek yazdım “smtpClient.Host=” şeklinde. Size uygun olanın yorum işaretini kaldırabilir veya başka bir SMTP sunucusu kullanabilirsiniz. Kod üzerinde dikkat ettiyseniz “To” , “CC” , “BCC”  bir collection olduğu için istediğiniz kadar e-posta ekleyebilirsiniz. Kodun geri kalanı kendinden açıklamalı olduğu için diğer kısımları açıklamama gerek yok sanırım. İyi çalışmalar…

private void SendMail(string replyMail, string replyName, 
	string fromMail, string fromName, string fromPassword, 
	string toMail, string title, string mailBody, 
	string ccMail, string bccMail)

{
    SmtpClient smtpClient = new SmtpClient();
    MailMessage mail = new MailMessage();
    try
    {
        MailAddress replyToAddress = new MailAddress(replyMail, replyName);
        MailAddress myAddress = new MailAddress(fromMail, fromName);

        //  smtpClient.Host için aşağıdaki yorumlardan ilgili olanın yorum kodunu açınız
		//Live Mail İçin
		//smtpClient.Host = "smtp.live.com";
		//GMail İçin
		//smtpClient.Host = "smtp.gmail.com";

        smtpClient.EnableSsl = true;
        NetworkCredential networkCredential = new NetworkCredential(fromMail, fromPassword);
        smtpClient.Credentials = networkCredential;
        smtpClient.Port = 25;
        mail.From = myAddress;
        mail.ReplyTo = replyToAddress;
        mail.To.Add(toMail);
        mail.Subject = title;
        mail.CC.Add(ccMail);
        mail.Bcc.Add(bccMail);
        mail.IsBodyHtml = false;
        mail.Body = mailBody;
        smtpClient.Send(mail);
        // E-POSTA Gönderildi
    }
    catch (Exception e)
    {
        // HATA ... E Posta gönderilemedi kontrolü
    }
}