arşiv

yazılar buna göre etiketlendi; ‘smtp auth’

C# ile SSL Kullanarak Mail Göndermek

Pazar, 31 Oca 2010 burakkanmaz 4 yorum

.NET ile SSL (https) kullanarak mail göndermek için hazırladığım ve bir çok projede kullandığım kodları sizlerle de paylaşmak istiyorum.

Öncelikle şu iki kütüphaneyi kodumuzun en üstüne yazarak sayfamıza referans gösteriyoruz.

using System.Net; // Güvenlik doğrulaması için gerekiyor
using System.Net.Mail; // Mail gönderimi için kullanılacak kütüphane

Daha sonra mail nesnelerimizi oluşturalım,

SmtpClient smtpClient = new SmtpClient(); // Yeni bir SMTP bağlantı nesnesi
MailMessage mailMessage = new MailMessage(); // Yeni bir mail mesajı nesnesi

Hemen ardından öncelikle mail nesnemize bilgileri girerek göndereceğimiz e-mail ayarlarını yapalım,

mailMessage.To.Add("burak@kanmaz.net");
// ^– Mailin gönderileceği kişi, eğer dilerseniz Add metodu ile birden fazla kişiyi ekleyebilirsiniz. Ya da Bcc.Add ve Cc.Add metotlarını da kullanabilirsiniz.
mailMessage.From = new MailAddress("isim@soyisim.com"); // Gönderen e-mail adresi
mailMessage.Subject = "Sitemize Hoşgeldiniz"; // E-Mailin başlığı
mailMessage.IsBodyHtml = true; // Eğer HTML bir mail gönderecekseniz true olmalı
mailMessage.Body = "Merhaba <b>Burak</b>"; // Mailinizin içeriği

Evet, şimdi e-mailimizi hazırladığımıza göre hemen bağlantı ayarlarımızı yapıp e-mailimizi gönderelim,

NetworkCredential networkCredential = new NetworkCredential("isim@soyisim.com", "123456");
// ^—SMTP Auth yapabilmemiz için göndericinin e-mail bilgilerini yazmalıyız.
smtpClient.Credentials = networkCredential; // Bu bilgiler ile SMTP oturumunu açacağız
smtpClient.Port = 587; // SMTP bağlantı portumuzu belirliyoruz.
smtpClient.Host = "smtp.soyisim.com"; // Mail sunucumuzun adresi
smtpClient.EnableSsl = true; // SSL kullanarak bağlanmak istediğimiz için true yapıyoruz

Süperiz, tüm ayarlarımızı yaptıktan sonra son olarak mailimizi gönderiyoruz..

smtpClient.Send(mailMessage);

Eğer dilerseniz tüm bu kodları bir try-catch bloğuna koyarak daha kararlı bir kod yazmış olursunuz.

Unutmadan şunu da ekleyelim, bu bir C# kodu olduğu için bu şekilde e-mail gönderimini hem ASP.NET ile web üzerinden hem de masaüstü uygulaması (Windows Form) üzerinden yapabilirsiniz.