Bu class ile mail gönderme islemlerini gerçeklestirecegiz.

Mail Gönderme

Bu class ile mail gönderme islemlerini gerçeklestirecegiz. Bu mail her kullanici için tek tek mail gönderiyor. Örnek içerisinde mail i gönderdikten sonra 3 saniye sistemin beklemesini sagliyoruz. Bunun nedeni ise toplu olarak bir döngü içerisinde mail göndermeye çalisirsaniz pespese gönderilerinizde gönderdiginiz mailler karsi tarafin junk(gereksiz) mail listesine düser ve/veya mail adresinizin ip si black liste alinir. Bu sikintiyi asabilmek için her mail gönderiminin ardinda 3 saniyelik bir bekleme saglaniyor. Ayni zamanda dikkat etmeniz gereken bir diger konu ise mail saglayaci firmanin size tanidigi günlük eposta gönderim limiti. Bu genelde 250 mail e kadar gönderim hakkiniz bulunur.

Kod Basligi

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace EMailLayer

{

    public class SendEMail

    {

        private System.Net.Mail.MailAddress FromUser { get;set;}

        private System.Net.Mail.MailAddress ToUser { get;set; }

        private System.Net.Mail.SmtpClient Client { get; set; }

        private System.Net.Mail.MailMessage Message { get; set; }

        public SendEMail()

        {

            FromUser = new System.Net.Mail.MailAddress("info@____.com", "Firma Adi", System.Text.Encoding.UTF8); ;

            Client = new System.Net.Mail.SmtpClient("80.10.0.100", 25);

            Client.Credentials = new System.Net.NetworkCredential("info@_____.com", "Sifre");

        }

        public bool Sending(string ToEPosta, string ToName, string _Konu, string _Mesaj, bool IsHtml)

        {

            bool Returned = false;

            try

            {

                ToUser = new System.Net.Mail.MailAddress(ToEPosta, ToName, System.Text.Encoding.UTF8);

                Message = new System.Net.Mail.MailMessage(FromUser, ToUser);

                Message.Subject = _Konu;

                Message.Body = _Mesaj;

                Message.IsBodyHtml = IsHtml;

                Client.Send(Message);

                System.Threading.Thread.Sleep(3000);

            }

            catch (Exception )

            {

                Returned = false;

            }

            return Returned;

        }

    }

}

İlgili Makaleler

Bu yazıya 0 yorum yapılmış.

Yorum Gönder