MailMessage mail = new MailMessage(pfrom, pto); mail.IsBodyHtml = IsHtmlBody; mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; SmtpClient client = new SmtpClient(); client.Credentials = new NetworkCredential(UserName, Password); client.Port = Port; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = Host; mail.Subject = psubject; mail.Body = pmessage; client.Send(mail);
Eğer e-posta bir HTML mesajı içeriyorsa MailMessage nesnesinin IsBodyHtml özelliği "true" yapılmalıdır.
Bunun dışında bazen eski e-posta sunucuları kullanılarak e-posta gönderilirken yukarıda kullanılan "System.Net.Mail" ad alanını içindeki sınıf sıkıntı çıkarabilmektedir. Bu durumda "System.Web.Mail" içinde yer alan SmtpMail sınıfı kullanılarak e-posta gönderim işlemi yapılabilmektedir. Aşağıda bu durum için örnek kod bloğu verilmiştir:
MailMessage mail = new MailMessage(); mail.To = pto; mail.From = pfrom; mail.Subject = psubject; mail.Body = pmessage; mail.Subject = psubject; mail.Body = pmessage; SetMailConfiguration(mail); SmtpMail.Send(mail);
Bu yöntem kullanıldığında doğrulama (Authentication) bilgisi aşağıdaki şekilde eklenmelidir:
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", UserName); //set your username here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", Password); //set your password here
Eğer mesaj HTML içeriyorsa ayarlamalara aşağıdaki kod eklenmelidir:
mail.BodyFormat = MailFormat.Html;
No comments:
Post a Comment