Пример #1
0
        public ActionResult Mailing()
        {
            var model = new MailingModel();

            var d = _ctx.DUserProfiles
                .Where(x => x.UserName != WebSecurity.CurrentUserName)
                .Select(x => x.UserName);

            model.Users.AddRange(d);            
            return View(model);
        }
Пример #2
0
        public ActionResult Send(MailingModel model)
        {
            var db = _ctx.webpages_Membership;

            var owner = Enumerable.FirstOrDefault(db.Where(x => x.UserId == WebSecurity.CurrentUserId));
            if (owner == null) return RedirectToAction("Mailing");

            using (var mail = new MailMessage())
            {
                mail.From = new MailAddress(owner.Email);
                foreach (var name in model.SelectedUsers)
                {
                    var uid = WebSecurity.GetUserId(name);
                    var ms = Enumerable.FirstOrDefault(db.Where(x => x.UserId == uid));
                    if (ms != null)
                    {
                        mail.To.Add(new MailAddress(ms.Email));
                    }
                }
                mail.Subject = model.Subject;
                mail.Body = model.MsgBody;
                mail.IsBodyHtml = true;

                var smtpClient = new SmtpClient()
                                     {
                                         Host = WebConfigurationManager.AppSettings["SmtpHost"],
                                         Port = Convert.ToInt32(WebConfigurationManager.AppSettings["SmtpHostPort"]),
                                         EnableSsl = Convert.ToBoolean(WebConfigurationManager.AppSettings["SmtpEnableSSL"]),
                                         DeliveryMethod = SmtpDeliveryMethod.Network,
                                         UseDefaultCredentials = Convert.ToBoolean(WebConfigurationManager.AppSettings["SmtpUseDefaultCredentialas"]),
                                         Credentials = new NetworkCredential()
                                                           {
                                                               UserName = WebConfigurationManager.AppSettings["SmtpSenderMail"],
                                                               Password = WebConfigurationManager.AppSettings["SmtpSenderPswd"]
                                                           }
                                     };
                smtpClient.Send(mail);
            }
            return RedirectToAction("Mailing");
        }