Eğer bir Windows Server sunucunuz varsa ve herhangi bir web uygulamanızdan e-posta göndermek isterseniz bu yazım ilginizi çekecektir. En baştan uyarmam gerekiyor , diğer ücretsiz smtp sunucuları [ Live mail , Gmail ] gibi sınırınız yok , çok hızlı ve istediğiniz kadar e-posta gönderebiliyorsunuz fakat SPAM olarak gözükme riskimiz de var. SPAM olarak gözükmemek için yapabileceklerimizi başka bir yazımda paylaşmayı düşünüyorum.

       İlk önce server’ımıza feature olarak SMTP Server’ı yüklememiz gerekiyor.

smtpadd 

       Sunucuyu yeniden başlatmanız istenebilir , bunu gerçekleştirdikten sonra Services kısmında SMTP Server’ın çalışmıyor ise başlatın ve ayarlarından “Startup Type”ını “Automatic”e getirin.

smtp1 

       Daha sonra IIS 6 Manager’ına girip default SMTP Server olarak gelen [SMTP Virtual Server #1] ‘a sağ tıklayıp başlat deyin. Ayrıca gerekli ayarları incelemenizi öneririm , bazı limitlerini yükseltmek isteyebilirsiniz.

smtpiis6

 

       Daha sonra IIS 7 üzerinde [ IIS 6 üzerinde olması gerekiyor emin değilim ] e-posta göndermek istediğiniz siteyi seçtikten sonra ayarlarındaki ASP.NET kısmında buluna “SMTP E-Mail” e girin.

smtpalp1

       Karşınıza çıkar ayarlarda göndereceğiniz e-posta adresini yazdıktan sonra SMTP Server olarak “Use localhost” a tik atın. ( başka bir sunucunuza e-posta atma işini vermek isterseniz ona göre ayarlamanız gerekiyor. ) Bütün işleri tek bir sunucumuz yapacağını öngördüğümüz için Authentication Settings olarak da “Not required” i seçebiliriz.

smtpalp2

       Artık bütün ayarlarımız hazır ve ASP.NET’den e-mailimizi gönderebiliriz. Aşağıdaki C# örneğiyle en temel biçimde gönderebilirsiniz.

MailMessage mail = new MailMessage();
mail.Subject = "Test başlık";
mail.Body = "test içerik";
SmtpClient smtp = new SmtpClient();
mail.To.Add("gönderilecek mail adresi");
smtp.Send(mail);