Developersland

Teknoloji ve Yazılım Blogu

  • Yazıtipi boyutunu arttır
  • Varsayılan yazıtipi boyutu
  • Yazıtipi boyutunu azaltır

C# ile Mail Gönderme

C# programlama dili kullanılarak mail göndermek için .Net kütüphanelerinin kullanılması gerekmektedir. Mail gönderecek mail adresi ve şifresi ile birlikte mail server a ait port ve smtp protokolü ve mail gönderilecek mail adresi kullanılmaktadır.

using System.Net;

using System.Net.Mail;

using System.Net.Mime;

SMTP(Simple Mail Transfer Protocol), giden mail sunucusudur. Bir e-posta göndermek için sunucu ile istemci arasındaki iletişim şeklini belirleyen protokoldür.

* Gmail için smtp.gmail.com

* Yahoo için smtp.mail.yahoo.com

* Hotmail için smtp.live.com

Port bilgisi smtp hareketler için kullanılan bağlantı noktasını ayarlar. Mail serverların port numaraları değişiklik göstermektedir.

* 587 --> gmail ve hotmail

* 465 --> yahoo

Mail göndermek için gönderen ve alıcı bilgilerinin girilmesi gerekmektedir. Mail bilgileri veritabanından ya da kullanıcıdan alınabilir. MailAddress ile gönderen ve alıcı mail adres bilgileri oluşturulur.

MailAddress from = new MailAddress(read_pro["sender_email"].ToString());

MailAddress to = new MailAddress(read_pro["receiver_email"].ToString());

MailMessage message = new MailMessage(from, to);

MailMessage ile gönderen ve alan mail adresleri kullanılarak yeni mail oluşturulur. Subject özelliğiyle oluşturulan maile konunun ne olduğu belirtilir.

message.Subject = " Proje Teslim Tarihi Hatırlatma";

Body özelliğiyle mailin içeriği hazırlanır.


message.Body = @" Projenizin son teslim tarihi : " + check.ToShortDateString() +;

Smtp server bilgilerini kullanarak mail göndermek için bir SmtpClient örneği oluşturulur. Hangi mail server kullanılacaksa o server a ait smtp ve port bilgileri kullanılır.

SmtpClient client = new SmtpClient(read_pro["smtp"].ToString());

client.EnableSsl = (bool)read_pro["ssl"];

client.Port = Convert.ToInt16(read_pro["port"]);

Credentials gönderen mail bilgilerinin doğruluğunu sağlamak için kullanılan özelliktir. Mail adresi ile birlikte mail şifresi de gerekmektedir.

client.Credentials = new NetworkCredential(read_pro["email"].ToString(), read_pro["mail_password"].ToString());

try

{client.Send(message);}

catch (Exception ex)

{MessageBox.Show("Exception caught in CreateCopyMessage(): {0}",

ex.ToString());}

Oluşturulan SmtpClient sınıfının Send methodu ile oluşturulan mail gönderilir.


C# ile temel olarak mail gönderme işlemi bu kadar. Örnekleri geliştirmek ve farklı uygulamalar yazmak size kalmış.

İyi Çalışmalar...

 

Yorumlar  

 
+1 #1 Gym.prathap 15-11-2012 13:57
Very nice and simple article for sending email.

It is not a best practice to catch the general Exception for send method. Please catch the specific exception

catch ArgumentNullExc eption When MailMessage object is null

catch InvalidOperatio nException when MailMessage.From is null

http://wisentechnologies.com/it-courses/.net-training.aspx
Alıntı
 

Yorum ekle


Güvenlik kodu
Yenile