Skip to content

ASP.NET ile E-Posta Gönderme

Geliştirdiğimiz web uygulamalarında çeşitli amaçlar için sık sık e-posta yollama ihtiyacı duyarız. Her ne kadar web sunucularının genellikle kendi SMTP hizmetleri olsa da localhost’ta çalışırken e-posta göndermek biraz daha karmaşıklaşabilir. Bu yazıda, Hotmail, Gmail gibi servislerin SMTP sunucuları aracılığıyla ASP.Net uygulamamızdan nasıl e-posta yollayacağımızı göreceğiz.

Bu işlem için kullanacağımız sınıf SmtpClient.

[sourcecode language=”csharp”]

SmtpClient  sc = new SmtpClient();
sc.Credentials = new NetworkCredential("mailadresi", "sifre");
sc.Host = "smpt sunucusu(mail.google.com mesela)";
sc.Timeout = 20000 //timeout süresi;
//sc.DeliveryMethod = SmtpDeliveryMethod.Network;
//sc.EnableSsl = true; //bu alan gmail için kullanılıyor.

sc.Port = 25; //sunucunun portu. gmail için 587 idi yanlış hatırlamıyorsam.

[/sourcecode]

SmtpClient ayarlarımız bu şekilde. Şimdi sıra geldi e-posta oluşturmaya

[sourcecode language=”csharp”]

MailMessage msg = new MailMessage();
msg.From = new MailAddress("mailde görünecek e-posta adres,","görünecek isim");
msg.Subject = konu;
msg.Body = mesaj;
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = true; //mesaj içinde html etiketi kullanacaksanız bu şekilde kalmalı
msg.To.Add(new MailAddress(alici e-posta)); //birden fazla da ekleyebiliyorsunuz listeye eleman ekler gibi.

sc.Send(msg); //daha önce oluşturduğumuz smtp client yardımıyla yolluyoruz.

//not: attachment özelliği de mevcut ayrıca

[/sourcecode]

Şayet ayarlarınız doğruysa e-postanız başarıyla gönderilecektir.

Görüşmek üzere, esen kalın.

Published in.NETASP.NET

Be First to Comment

Leave a Reply