C# ile GMail üzerinden e-posta gönderme

07 Temmuz 2010

Windows uygulamalarınız üzerinden e-posta gönderebilmek güzel bir özellik.

Uygulama içerisinden e-posta gönderme konusunda ilk akla gelen sorulardan bir tanesi, “GMail üzerinden e-posta gönderebilir miyim?” oluyor.

Bu yazımda, GMail üzerinden e-posta gönderebileceğimiz bir uygulama geliştireceğim.

Öncelikle kodumuzun using kısmına System.Net ve System.Net.Mail namespace’ini eklememiz gerekiyor.

.Net Framework, System.Net.Mail namespace‘i içerisinde çeşitli class‘lar aracılığı ile uygulamanız içerisinden kolaylıkla e-posta gönderilmesini mümkün kılıyor.

using System.Net.Mail; using System.Net;</pre> İlk yapmamız gereken, SmtpClient sınıfından bir örnek oluşturmak ve bazı özelliklerini ayarlamak.

SmtpClient sc = new SmtpClient();
sc.Port = 587;
sc.Host = "smtp.gmail.com";
sc.EnableSsl = true;

Port özelliği ile, Smtp sunucusuna erişeceğimiz port numarasını belirliyoruz

Host özelliği ile, GMail Smtp sunucusunun adresini belirliyoruz

EnableSsl özelliği ile, GMail Smtp sunucusuna bağlanacağımız protokolu belirliyoruz. Eğer true değer atarsak https, eğer false değer atarsak http protokolü kullanılır.

GMail e-posta adresimizi ve şifremizi, Credentials özelliğine NetworkCredential sınıfından bir örnek ile atamamız gerekiyor.

sc.Credentials = new NetworkCredential("[email protected]", "gmail_sifre");

SmtpClient örneği üzerinden gönderilecek posta, MailMessage tipinde olmalıdır. Bir sonraki adımda MailMessage sınıfından bir örnek oluşturuyoruz.

MailMessage mail = new MailMessage();

mail.From = new MailAddress("[email protected]", "Ekranda Görünecek İsim");

mail.To.Add("[email protected]");
mail.To.Add("[email protected]");

mail.CC.Add("[email protected]");
mail.CC.Add("[email protected]");

mail.Subject = "E-Posta Konusu";
mail.IsBodyHtml = true;
mail.Body = "E-Posta İçeriği";

mail.Attachments.Add(new Attachment(@"C:\Rapor.xlsx"));
mail.Attachments.Add(new Attachment(@"C:\Sonuc.pptx"));

Son olarak, SmtpClient sınıfının Send() method’unu kullanarak, oluşturduğumuz MailMessage örneğini gönderiyoruz.

sc.Send(mail);

Kodların toparlanmış hali;

using System;
using System.Net.Mail;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        SmtpClient sc = new SmtpClient();
        sc.Port = 587;
        sc.Host = "smtp.gmail.com";
        sc.EnableSsl = true;

        sc.Credentials = new NetworkCredential("[email protected]", "gmail_sifre");

        MailMessage mail = new MailMessage();

        mail.From = new MailAddress("[email protected]", "Ekranda Görünecek İsim");

        mail.To.Add("[email protected]");
        mail.To.Add("[email protected]");

        mail.CC.Add("[email protected]");
        mail.CC.Add("[email protected]");

        mail.Subject = "E-Posta Konusu"; mail.IsBodyHtml = true; mail.Body = "E-Posta İçeriği";

        mail.Attachments.Add(new Attachment(@"C:\Rapor.xlsx"));
        mail.Attachments.Add(new Attachment(@"C:\Sonuc.pptx"));

        sc.Send(mail);
    }
}


İlgili diğer makaleler

blog comments powered by Disqus

Emre Ozcan hakkında

Sistem Yöneticisi, Bilişim Teknoloji Takipçisi

#microsoft #VoIP

Kategoriler

İstatistik

Makale Adedi: 290

Creative Commons Lisansı