Esempio n. 1
0
        public IActionResult Reply(long?id, Contact contact)
        {
            MailSetting mailSetting = mailSettingService.GetMailSettings().FirstOrDefault();

            if (id != contact.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    contactService.GetContacts().Where(c => c.Id == id).FirstOrDefault().Reply = contact.Reply;
                    Methods.SendMail(mailSetting, contact);
                    contactService.SaveContact();
                }

                catch (DbUpdateConcurrencyException)
                {
                    if (!ContactExists((long)contact.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction("Index"));
            }
            return(View(contact));
        }
Esempio n. 2
0
        public async Task <bool> SendEmail(MailSetting settings, List <Subscriber> subscribers, string subject, string content)
        {
            var client = GetClient(settings);

            if (client == null)
            {
                return(false);
            }

            var bodyBuilder = new BodyBuilder();

            bodyBuilder.HtmlBody = content;

            foreach (var subscriber in subscribers)
            {
                try
                {
                    var message = new MimeMessage();
                    message.Subject = subject;
                    message.Body    = bodyBuilder.ToMessageBody();

                    message.From.Add(new MailboxAddress(settings.FromName, settings.FromEmail));
                    message.To.Add(new MailboxAddress(settings.ToName, subscriber.Email));
                    client.Send(message);
                }
                catch (Exception ex)
                {
                    Serilog.Log.Warning($"Error sending email to {subscriber.Email}: {ex.Message}");
                }
            }

            client.Disconnect(true);
            return(await Task.FromResult(true));
        }
Esempio n. 3
0
        public async Task <IActionResult> Edit(int id, [Bind("FromAddress,FromAddressPassword,FromAddressTitle,SmptServer,SmptPortNumber,Id,CreateDate,CreatedBy,UpdatedBy,UpdateDate")] MailSetting mailSetting)
        {
            if (id != mailSetting.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(mailSetting);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MailSettingExists(mailSetting.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(mailSetting));
        }
        public Notification(IConfiguration configuration)
        {
            var mailSettings = new MailSetting();

            _configuration = configuration;

            mailSettings.Enabled          = Convert.ToBoolean(_configuration.GetSection("MailSetting").GetSection("Enabled").Value);
            mailSettings.FromName         = _configuration.GetSection("MailSetting").GetSection("FromName").Value;
            mailSettings.FromEmail        = _configuration.GetSection("MailSetting").GetSection("FromEmail").Value;
            mailSettings.Host             = _configuration.GetSection("MailSetting").GetSection("Host").Value;
            mailSettings.Port             = Convert.ToInt32(_configuration.GetSection("MailSetting").GetSection("Port").Value);
            mailSettings.EnableSsl        = Convert.ToBoolean(_configuration.GetSection("MailSetting").GetSection("EnableSsl").Value);
            mailSettings.IsAuthentication = Convert.ToBoolean(_configuration.GetSection("MailSetting").GetSection("IsAuthentication").Value);
            mailSettings.Username         = _configuration.GetSection("MailSetting").GetSection("Username").Value;
            mailSettings.Password         = _configuration.GetSection("MailSetting").GetSection("Password").Value;

            MailHelper = new MailHelper(mailSettings);

            _siteSetting = new SiteSetting()
            {
                SiteTitle  = _configuration.GetSection("SiteSetting").GetSection("SiteTitle").Value,
                WebsiteUrl = _configuration.GetSection("SiteSetting").GetSection("WebsiteUrl").Value
            };

            _mailSetting = mailSettings;
        }
Esempio n. 5
0
        public static void SendMemberMail(MailSetting mailSetting, ApplicationUser user)
        {
            var    mimeMessage = new MimeMessage();
            string BodyContent;
            string FromAddress      = mailSetting.FromAddress;
            string FromAddressTitle = mailSetting.FromAddressTitle;
            string ToAddress        = user.Email;
            string ToAddressTitle   = user.CompanyName;
            string Subject          = "Üyelik Başvurunuz Hakkında";
            string SmptServer       = mailSetting.SmptServer;
            int    SmptPortNumber   = mailSetting.SmptPortNumber;

            if (user.EmailConfirmed == true)
            {
                BodyContent = "Firma üyeliğiniz onaylanmıştır. Firmanızın ürünlerini ekleyip paylaşabilirsiniz.\n Tree Store \n İyi Çalışmalar Dileriz..";
            }
            else
            {
                BodyContent = "Üyelik başvurunuz elimize ulaşmıştır. Firma üyeliğiniz onaylandığında size mail ile bildirilecektir.\n Tree Store \n İyi Çalışmalar Dileriz..";
            }
            mimeMessage.From.Add(new MailboxAddress(FromAddressTitle, FromAddress));
            mimeMessage.To.Add(new MailboxAddress(ToAddressTitle, ToAddress));
            mimeMessage.Subject = Subject;
            mimeMessage.Body    = new TextPart("plain")
            {
                Text = BodyContent
            };
            using (var client = new SmtpClient())
            {
                client.Connect(mailSetting.SmptServer, mailSetting.SmptPortNumber, false);
                client.Authenticate(mailSetting.FromAddress, mailSetting.FromAddressPassword);
                client.Send(mimeMessage);
                client.Disconnect(true);
            }
        }
Esempio n. 6
0
        public async Task <bool> SendSmtpAsync(MailMessage message, MailSetting setting)
        {
            try
            {
                if (!ValidateSettingBefore(setting))
                {
                    return(false);
                }
                message.From       = new MailAddress(setting.FromMailAddress);
                message.IsBodyHtml = setting.IsBodyHtml;
                using (var smtp = new SmtpClient())
                {
                    var credential = new NetworkCredential
                    {
                        UserName = setting.MailServiceUsername,
                        Password = setting.MailServicePassword
                    };
                    smtp.Credentials = credential;
                    smtp.Host        = setting.HostNameOrIp;
                    smtp.Port        = setting.Port;
                    smtp.EnableSsl   = setting.EnableSsl;
                    //     smtp.Port = 8081;
                    // smtp.EnableSsl = true;
                    smtp.Send(message);

                    return(true);
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Esempio n. 7
0
        public ActionResult MailSetting(MailSetting model, string txtpassword)
        {
            var record = MailManager.GetMailSettings();

            if (record == null)
            {
                ViewBag.nullsetting    = true;
                model.Password         = txtpassword;
                ViewBag.ProcessMessage = MailManager.AddSetting(model);
                return(View(model));
            }
            else
            {
                if (!string.IsNullOrEmpty(txtpassword))
                {
                    model.Password = txtpassword;
                }

                ViewBag.nullsetting    = false;
                model.MailSettingId    = record.MailSettingId;
                ViewBag.ProcessMessage = MailManager.EditSetting(model);
            }
            ////            record.TypeId = Convert.ToInt32(EnumInstituionalTypes.Misyon);
            //ViewBag.ProcessMessage = MailManager.AddMailUsers(model);
            //ModelState.Clear();
            return(View());
        }
Esempio n. 8
0
        public async Task <bool> SaveMailSettings(MailSetting mail)
        {
            var existing = await _db.MailSettings.FirstOrDefaultAsync();

            if (existing == null)
            {
                var newMail = new MailSetting()
                {
                    Host         = mail.Host,
                    Port         = mail.Port,
                    UserEmail    = mail.UserEmail,
                    UserPassword = mail.UserPassword,
                    FromEmail    = mail.FromEmail,
                    FromName     = mail.FromName,
                    ToName       = mail.ToName,
                    Enabled      = mail.Enabled,
                    DateCreated  = DateTime.UtcNow,
                    Blog         = _db.Blogs.FirstOrDefault()
                };
                _db.MailSettings.Add(newMail);
            }
            else
            {
                existing.Host         = mail.Host;
                existing.Port         = mail.Port;
                existing.UserEmail    = mail.UserEmail;
                existing.UserPassword = mail.UserPassword;
                existing.FromEmail    = mail.FromEmail;
                existing.FromName     = mail.FromName;
                existing.ToName       = mail.ToName;
                existing.Enabled      = mail.Enabled;
            }
            return(await _db.SaveChangesAsync() > 0);
        }
Esempio n. 9
0
        public async Task <ActionResult> RecoverPassword(string email)
        {
            var userStore   = MembershipTools.NewUserStore();
            var userManager = new UserManager <ApplicationUser>(userStore);
            var sonuc       = userStore.Context.Set <ApplicationUser>().FirstOrDefault(x => x.Email == email);

            if (sonuc == null)
            {
                ViewBag.sonuc = "email adresiniz kayıtlı değil";
                return(View());
            }
            var randomPas = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 6);
            await userStore.SetPasswordHashAsync(sonuc, userManager.PasswordHasher.HashPassword(randomPas));

            await userStore.UpdateAsync(sonuc);

            await userStore.Context.SaveChangesAsync();

            await MailSetting.SendMail(new MailModel()
            {
                To      = sonuc.Email,
                Subject = "Şifreniz değiştirildi",
                Message = $"Merhaba {sonuc.Name} {sonuc.SurName} yeni şifreniz:<b>{randomPas}</b> olmuştur"
            });

            ViewBag.sonuc = "Email adresinize yeni şifre gönderilmiştir";
            return(View());
        }
Esempio n. 10
0
        public async Task <ActionResult> Activation(string code)
        {
            var userStore   = MembershipTools.NewUserStore();
            var userManager = new UserManager <ApplicationUser>(userStore);
            var sonuc       = userStore.Context.Set <ApplicationUser>().FirstOrDefault(x => x.ActivationCode == code);

            if (sonuc == null)
            {
                ViewBag.sonuc = "Aktivasyon işlemi başarısız";
                return(View());
            }
            sonuc.EmailConfirmed = true;
            await userStore.UpdateAsync(sonuc);

            await userStore.Context.SaveChangesAsync();

            userManager.RemoveFromRole(sonuc.Id, "Passive");
            userManager.AddToRole(sonuc.Id, "User");

            ViewBag.sonuc = $"Merhaba{sonuc.Name} {sonuc.SurName} kayıt aktivaston işleminiz başarılı olmuştur.";

            await MailSetting.SendMail(new MailModel()
            {
                To      = sonuc.Email,
                Message = ViewBag.sonuc.ToString(),
                Subject = "Aktivasyon",
                Bcc     = "*****@*****.**"
            });

            return(View());
        }
Esempio n. 11
0
 public static bool EditSetting(MailSetting model)
 {
     using (MainContext db = new MainContext())
     {
         try
         {
             MailSetting editrec = db.MailSetting.Where(d => d.MailSettingId == model.MailSettingId).SingleOrDefault();
             if (editrec != null)
             {
                 editrec.ServerMail = model.ServerMail;
                 editrec.ServerHost = model.ServerHost;
                 editrec.Port       = model.Port;
                 editrec.Security   = model.Security;
                 if (!string.IsNullOrEmpty(model.Password))
                 {
                     editrec.Password = model.Password;
                 }
                 db.SaveChanges();
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         catch (Exception ex)
         {
             return(false);
         }
     }
 }
Esempio n. 12
0
        private MailMessage GetMailMessage(MailSetting mailSetting, Mail mail)
        {
            var message = new MailMessage
            {
                IsBodyHtml      = true,
                Subject         = mail.Subject,
                Body            = mail.Body,
                From            = new MailAddress(mailSetting.UserName, mailSetting.UserName),
                SubjectEncoding = Encoding.UTF8,
                BodyEncoding    = Encoding.UTF8
            };

            var toList = mail.To.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

            foreach (var item in toList)
            {
                message.To.Add(new MailAddress(item, item));
            }

            if (!String.IsNullOrEmpty(mail.ReplyTo))
            {
                message.ReplyToList.Add(new MailAddress(mail.ReplyTo, mail.ReplyTo));
            }

            return(message);
        }
Esempio n. 13
0
 public EmailSendingJob(IOptions <MailSetting> mailsettings,
                        IEmailRepository emailRepository, IEmailService emailService)
 {
     _emailService    = emailService;
     _emailRepository = emailRepository;
     _mailsettings    = mailsettings.Value;
 }
Esempio n. 14
0
 public EasyReportService(ReportSetting reportSettings, MailSetting mailSettings)
 {
     this.reportSetting     = reportSettings;
     this.mailSetting       = mailSettings;
     this.logger            = NLog.LogManager.GetCurrentClassLogger();
     this.connectionStrings = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString();
     reportSetting.logger   = this.logger;
 }
Esempio n. 15
0
 public MailHelper(MailSetting mailSetting)
 {
     _mailSetting  = mailSetting;
     _toAddresses  = new List <MailAddress>();
     _ccAddresses  = new List <MailAddress>();
     _bccAddresses = new List <MailAddress>();
     _variables    = new Dictionary <string, object>();
 }
Esempio n. 16
0
        public static bool ServerSendMail(MailSetting config, Mail obj, List <string> cc = null)
        {
            // Register our own certificate validation
            ServicePointManager.ServerCertificateValidationCallback = OurCertificateValidation;

            // Message
            var from = new MailAddress(config.Email, config.Name);
            var to   = new MailAddress(obj.Email, obj.Name);

            var message = new MailMessage(from, to)
            {
                Subject    = (obj.Subject.Length < 1 ? "No Subject" : obj.Subject),
                Body       = obj.Body,
                IsBodyHtml = true
            };

            //Send mail cc to many
            if (cc != null && cc.Count > 0)
            {
                // MailAddressCollection collection = new MailAddressCollection();
                foreach (var receiver in cc)
                {
                    // collection.Add(receiver);
                    message.CC.Add(receiver);
                }
            }

            // Create client
            var client = new SmtpClient(config.Host, config.Port)
            {
                EnableSsl   = config.IsSSL,
                Credentials = new NetworkCredential
                {
                    UserName = config.Email,
                    Password = config.Pwd,
                }
            };

            // Try to send
            using (client)
            {
                try
                {
                    client.Send(message);
                    return(true);
                }
                catch (AuthenticationException ex)
                {
                    Logger.LogError(ex);
                    return(false);
                }
                catch (SmtpException ex)
                {
                    Logger.LogError(ex);
                    return(false);
                }
            }
        }
    private MailSetting MailSetting(DataTable mailset)
    {
        MailSetting objmailset = new MailSetting();

        objmailset.Subject = mailset.Rows[0]["M_Subject"].ToString();
        objmailset.CC      = mailset.Rows[0]["M_CC"].ToString();
        objmailset.BCC     = mailset.Rows[0]["M_BCC"].ToString();
        objmailset.Body    = mailset.Rows[0]["M_Template"].ToString();
        return(objmailset);
    }
Esempio n. 18
0
        //MailSetting
        public ViewResult EditMailSetting()
        {
            MailSetting mailSetting = websiteConfigRepository.MailSettings.FirstOrDefault();

            if (mailSetting == null)
            {
                mailSetting = new MailSetting();
            }
            return(View(mailSetting));
        }
Esempio n. 19
0
 private Dictionary <string, string> BuildGeneralInquiryTemplate(MailSetting mailSetting, EnquiryForm form)
 {
     return(new Dictionary <string, string> {
         { Foundation.Workflow.Constants.EmailToken.Receiver, mailSetting.ReceiverName },
         { $"[{nameof(form.Name)}]", form.Name },
         { $"[{nameof(form.Email)}]", form.Email },
         { $"[{nameof(form.ContactNo)}]", form.ContactNo },
         { $"[{nameof(form.Message)}]", form.Message }
     });
 }
 public MailService(IMailRepository mailRepository,
                    IVerifyUserRepository verifyUserRepository,
                    IOptions <UrlSetting> urlSetting,
                    IOptions <MailSetting> mailSetting)
 {
     _mailRepository       = mailRepository;
     _verifyUserRepository = verifyUserRepository;
     _urlSetting           = urlSetting.Value;
     _mailSetting          = mailSetting.Value;
 }
Esempio n. 21
0
        private Dictionary <string, string> BuildLeasingInquiryTemplate(MailSetting mailSetting, EnquiryForm form)
        {
            var inquiryTemplate = this.BuildGeneralInquiryTemplate(mailSetting, form);

            inquiryTemplate.Add(nameof(form.EnquirySpaceSelected), form.EnquirySpaceSelected);
            inquiryTemplate.Add(nameof(form.ExistingShopName), form.ExistingShopName);
            inquiryTemplate.Add(nameof(form.TradeOrMerchandise), form.TradeOrMerchandise);
            inquiryTemplate.Add(nameof(form.AreaRequired), form.AreaRequired);
            inquiryTemplate.Add(nameof(form.M_E_Requirements), form.M_E_Requirements);
            return(inquiryTemplate);
        }
        private MailSetting SetSuccessMailSettings()
        {
            var packageCompleted = new MailSetting
            {
                FromEmail = ConfigurationManager.AppSettings["fromAddress"],
                Subject   = ConfigurationManager.AppSettings["successSubject"],
                Body      = ConfigurationManager.AppSettings["SuccessBody"]
            };

            return(packageCompleted);
        }
Esempio n. 23
0
 public EmailService(IHttpContextAccessor httpContextAccessor,
                     IHostingEnvironment hostingEnvironment
                     , IOptions <APPURL> settings
                     , IOptions <MailSetting> mailsettings,
                     IEmailRepository emailRepository)
 {
     _emailRepository     = emailRepository;
     _httpContextAccessor = httpContextAccessor;
     _hostingEnvironment  = hostingEnvironment;
     _settings            = settings.Value;
     _mailsettings        = mailsettings.Value;
 }
        private MailSetting SetFailedMailSettings()
        {
            var packageFailed = new MailSetting
            {
                FromEmail        = ConfigurationManager.AppSettings["fromAddress"],
                Subject          = ConfigurationManager.AppSettings["exceptionSubject"],
                Body             = ConfigurationManager.AppSettings["exceptionBody"],
                IsHighImportance = true
            };

            return(packageFailed);
        }
Esempio n. 25
0
        public ActionResult Setting()
        {
            var setting = CurrentSite.GetMailSetting();

            if (setting == null)
            {
                setting = new MailSetting {
                    Port = 25
                };
            }

            return(View(setting));
        }
Esempio n. 26
0
        public static void AddMailSettings(ApplicationDbContext context)
        {
            var cms = new MailSetting();

            cms.FromAddress         = "*****@*****.**";
            cms.FromAddressPassword = "******";
            cms.FromAddressTitle    = "Tree Store";
            cms.Subject             = "İletişim";
            cms.BodyContent         = "Mesajınız Bize İletilmiştir. İlginiz İçin Teşekkür Ederiz";
            cms.SmptServer          = "smtp.gmail.com";
            cms.SmptPortNumber      = 587;
            context.MailSettings.Add(cms);
            context.SaveChanges();
        }
Esempio n. 27
0
        /// <summary>
        /// Transaction of Dictionary
        /// </summary>
        /// <param name="data">Object MailSetting</param>
        /// <param name="action">I: Insert, u: Update, D: Delete</param>
        /// <returns>true/false</returns>
        public async Task <int> Transaction(MailSetting data, char action)
        {
            try
            {
                var val = await _adapterPattern.SingleTransaction <MailSetting, int>(data, "usp_MailSetting_Transaction", action, DataConfiguration.instanceCore);

                return(val);
            }
            catch (Exception ex)
            {
                Logger.LogError(ex);
                return(0);
            }
        }
        public ActionResult Mail()
        {
            try
            {
                MailSettingRepository ml = new MailSettingRepository();

                List <MailSetting> list = ml.GetList(1, 20);
                MailSetting        obj  = (list.Count > 0 ? list.First() : new MailSetting());
                return(View(obj));
            }
            catch (Exception ex)
            {
                return(Content(ContentIcon.Error + "|" + ErrorWirter(RouteData, ex.Message)));
            }
        }
        // GET: Panel/Settings
        public ActionResult MailSettings()
        {
            MailSetting mailSettings = new MailSetting();

            try
            {
                mailSettings = db.MailSettings.First();
            }
            catch (Exception e)
            {
                return(View());
            }

            return(View(mailSettings));
        }
Esempio n. 30
0
 public ActionResult EditMailSetting(MailSetting mailSetting)
 {
     if (ModelState.IsValid)
     {
         websiteConfigRepository.SaveMailSetting(mailSetting);
         TempData["message"] = string.Format("{0} has been saved", mailSetting.MailSettingId);
         return(View(mailSetting));
     }
     else
     {
         //There is something wrong with the data values
         TempData["message"] = string.Format("Error occurs!", mailSetting.MailSettingId);
         return(View(mailSetting));
     }
 }
Esempio n. 31
0
 public void AddToMailSettings(MailSetting mailSetting)
 {
     base.AddObject("MailSettings", mailSetting);
 }
Esempio n. 32
0
 public static MailSetting CreateMailSetting(int mailSettingsId, string fromName, string fromEmail, string smtpServer, string subject, string body, string pickupURL, string emailAccountName, string emailAccountPassword)
 {
     MailSetting mailSetting = new MailSetting();
     mailSetting.MailSettingsId = mailSettingsId;
     mailSetting.FromName = fromName;
     mailSetting.FromEmail = fromEmail;
     mailSetting.SmtpServer = smtpServer;
     mailSetting.Subject = subject;
     mailSetting.Body = body;
     mailSetting.PickupURL = pickupURL;
     mailSetting.EmailAccountName = emailAccountName;
     mailSetting.EmailAccountPassword = emailAccountPassword;
     return mailSetting;
 }