Ejemplo n.º 1
0
        public static void Run(MailBilgi mailBilgi)
        {
            string UserName = "******";
            string Password = "******";
            string HostName = "localhost";

            var connectionFactory = new ConnectionFactory()
            {
                UserName = UserName,
                Password = Password,
                HostName = HostName
            };

            using (var connection = connectionFactory.CreateConnection())
                using (var model = connection.CreateModel())
                {
                    var properties = model.CreateBasicProperties();
                    properties.Persistent = false;

                    string message       = JsonConvert.SerializeObject(mailBilgi);
                    byte[] messagebuffer = Encoding.Default.GetBytes(message);

                    model.BasicPublish(
                        "demoExchange",
                        "directexchange_key",
                        properties,
                        messagebuffer);

                    Console.WriteLine("Message Sent");
                }
        }
        public override void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, IBasicProperties properties, byte[] body)
        {
            //Console.WriteLine($"Consuming Message");
            //Console.WriteLine(string.Concat("Message received from the exchange ", exchange));
            //Console.WriteLine(string.Concat("Consumer tag: ", consumerTag));
            //Console.WriteLine(string.Concat("Delivery tag: ", deliveryTag));
            //Console.WriteLine(string.Concat("Routing tag: ", routingKey));
            //Console.WriteLine(string.Concat("Message: ", Encoding.UTF8.GetString(body)));

            string message = Encoding.UTF8.GetString(body);

            Console.Write("Mail gönderiliyor----\t");

            MailMotoru mailMotoru = new MailMotoru();

            MailBilgi mailBilgi = JsonConvert.DeserializeObject <MailBilgi>(message);

            MailGonderimSonuc mailGonderimSonuc = mailMotoru.MailGonder(mailBilgi);

            if (mailGonderimSonuc.Basarili)
            {
                Console.WriteLine("----Mail gönderildi.");
            }
            else
            {
                Console.WriteLine("----Mail gönderimi başarısız.");
            }

            _channel.BasicAck(deliveryTag, false);
        }
        public void Init()
        {
            _veritabaniIslemcisi = new Mock <IVeritabaniIslemcisi>(MockBehavior.Strict);
            _smtpAyarlayan       = new Mock <ISmtpAyarlayan>(MockBehavior.Strict);
            _mailKontrolcu       = new Mock <IMailKontrolcu>(MockBehavior.Loose);
            _mailIslemcisi       = new Mock <IMailIslemcisi>(MockBehavior.Loose);

            _mailGonderen = new MailGonderen(_mailIslemcisi.Object, _smtpAyarlayan.Object, _veritabaniIslemcisi.Object, _mailKontrolcu.Object);

            _mailBilgi = new MailBilgi()
            {
                GonderilecekEpostaAdresleri = new List <string>()
                {
                    "*****@*****.**"
                },
                Konu   = "test konu",
                Icerik = "test icerik",
            };

            _mailBilgiHatali = new MailBilgi()
            {
                GonderilecekEpostaAdresleri = new List <string>()
                {
                    "caneradayazilim.com"
                },
                Konu   = "test konu",
                Icerik = "test icerik"
            };
        }
Ejemplo n.º 4
0
        public MailGonderimSonuc Gonder(MailBilgi mailBilgi)
        {
            MailGonderimSonuc mailGonderimSonuc = new MailGonderimSonuc();

            mailGonderimSonuc.Hatalar = new List <string>();
            try
            {
                //Bilgi kontrol et hataliysa logla ve basarisiz don.
                mailGonderimSonuc = bilgiKontroluYap(mailBilgi, mailGonderimSonuc);
                if (!mailGonderimSonuc.Basarili)
                {
                    return(mailGonderimSonuc);
                }

                //mail gonderimi yap. exception alinmazsa basarilidir.
                _mailIslemcisi.MailGonderimiYap(mailBilgi, _smtpAyarlayan);

                //Gönderim başarılı
                mailGonderimSonuc.Basarili = true;
                _veritabaniIslemcisi.BasariliGonderimKaydet(mailBilgi);
                return(mailGonderimSonuc);
            }
            catch (Exception ex)
            {
                mailGonderimSonuc.Hatalar.Add(ex.Message);
                _veritabaniIslemcisi.HataliGonderimKaydet(mailBilgi, mailGonderimSonuc.HatalarStr);
                mailGonderimSonuc.Basarili = false;
                return(mailGonderimSonuc);
            }
        }
        public void MailGonderimiYap(MailBilgi mailBilgi, ISmtpAyarlayan smtpAyarlayan)
        {
            SmtpClient  smtpClient = smtpAyarlayan.SmtpClientBilgiGetir();
            MailMessage ePosta     = new MailMessage();

            //mail gonderecek hesap.
            ePosta.From = new MailAddress(smtpAyarlayan.GonderenMailBilgisiGetir(), smtpAyarlayan.GonderenUnvanBilgisiGetir());

            //mail gonderilecek e-posta adresleri.
            mailBilgi.GonderilecekEpostaAdresleri.ForEach(x => { ePosta.To.Add(x); });

            //Bilgilendirme olarak eklenecek mail adresleri.
            mailBilgi.CcEpostaAdresleri?.ForEach(x => { ePosta.CC.Add(x); });

            //Gizli olarak eklenecek mail adresleri.
            mailBilgi.BccEpostaAdresleri?.ForEach(x => { ePosta.Bcc.Add(x); });

            //mailin konusu.
            ePosta.Subject = mailBilgi.Konu;

            //mail icerigi html olarak gonderilsin.
            ePosta.IsBodyHtml = true;

            //mail icerigi.
            ePosta.Body = mailBilgi.Icerik;
            // ekleri temizledik.
            ePosta.Attachments.Clear();

            //mail ek dosyalari eklendi.
            mailBilgi.EklenecekDosyaAdresleri?.ForEach(x => { ePosta.Attachments.Add(new Attachment(x)); });

            //Mail gonderiliyor.
            smtpClient.Send(ePosta);
        }
Ejemplo n.º 6
0
        private MailGonderimSonuc bilgiKontroluYap(MailBilgi mailBilgi, MailGonderimSonuc mailGonderimSonuc)
        {
            if (!_mailKontrolcu.MailAdresiKontrolEt(mailBilgi))
            {
                mailGonderimSonuc.Hatalar.Add("Mail adresi hatalı, lütfen kontrol edin.");
                _veritabaniIslemcisi.HataliGonderimKaydet(mailBilgi, "Mail adresi hatalı, lütfen kontrol edin.");
                mailGonderimSonuc.Basarili = false;
            }
            else
            {
                mailGonderimSonuc.Basarili = true;
            }

            return(mailGonderimSonuc);
        }
Ejemplo n.º 7
0
        public PartialViewResult MailSMTPClintKaydet(MailBilgi mailBilgi)
        {
            try
            {
                _mailInfoRepository.Update(mailBilgi);
                ViewData["mesaj"] = "Kayıt Başarı ile Güncellendi.";
            }
            catch (Exception ex)
            {
                ViewData["mesaj"] = ex.ToString();
                return(PartialView("Error"));
            }

            return(PartialView("Successful"));
        }
Ejemplo n.º 8
0
 public void Update(MailBilgi mailBilgi)
 {
     try
     {
         using (Database db = new Database())
         {
             MailBilgi m = db.SingleOrDefault <MailBilgi>("SELECT * FROM MailBilgi WHERE Id=1");
             m.Mail       = mailBilgi.Mail;
             m.Password   = mailBilgi.Password;
             m.Username   = mailBilgi.Username;
             m.Port       = mailBilgi.Port;
             m.SMTPClient = mailBilgi.SMTPClient;
             db.Update(m);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            Console.WriteLine("Creating queue");
            CreateQueue.Run();

            Console.WriteLine("Creating exchange");
            CreateExchange.Run();

            Console.WriteLine("Create binding");
            CreateBinding.Run();

            MailBilgi mailBilgi = new MailBilgi();

            mailBilgi.GonderilecekEpostaAdresleri = new List <string>()
            {
                "mailadresi@"
            };
            mailBilgi.Konu   = "Bu bir test mesajıdır.";
            mailBilgi.Icerik = "Test mesajı içeriğidir.";

            PublishMessage.Run(mailBilgi);
        }
Ejemplo n.º 10
0
 public bool MailAdresiKontrolEt(MailBilgi mailBilgi)
 {
     return(true); //mail gecerli var sayalim. kontroller eklenecek.
 }
 public void BasariliGonderimKaydet(MailBilgi mailBilgi)
 {
     //throw new NotImplementedException();
 }
 public void HataliGonderimKaydet(MailBilgi mailBilgi, string mesaj)
 {
     //throw new NotImplementedException();
 }
Ejemplo n.º 13
0
        public MailGonderimSonuc MailGonder(MailBilgi mailgBilgi)
        {
            MailGonderen mailGonderen = new MailGonderen(new MailIslemcisi(), new SmtpAyarlayan(), new VeritabaniIletisimcisi(), new MailKontrolcu());

            return(mailGonderen.Gonder(mailgBilgi));
        }