string RenderEmailBody(string content, MaillingListSendModel model, ABUserAuth user) { Hashtable tokens = new Hashtable(); var domain = Request.Url.Host; // prepare for the tokens // get current website information var site = Cache_GetWebSite(); if (string.IsNullOrEmpty(site.Email_Admin)) { site.Email_Admin = ""; } if (string.IsNullOrEmpty(site.Email_Support)) { site.Email_Support = ""; } if (site.UseSSL) { domain = "https://" + domain + "/"; } else { domain = "http://" + domain + "/"; } tokens.Add("#website_domain", domain); tokens.Add("#website_name", site.Name); tokens.Add("#website_admin_email", site.Email_Admin); tokens.Add("#website_info_email", site.Email_Support); if (user != null) { if (string.IsNullOrEmpty(user.FullName)) { tokens.Add("#user_name", user.UserName); } else { tokens.Add("#user_name", user.FullName); } tokens.Add("#user_username", user.UserName); } return(content); }
public ActionResult SendMailing(MaillingListSendModel model) { var users = Cache_GetAllUsers(); var user_to_send = new List <ABUserAuth>(); if (model.TargetEmails == null || model.TargetEmails.Count == 0) { return(JsonError("Please select receivers before send email")); } if (string.IsNullOrEmpty(model.Title)) { return(JsonError("Please enter message title")); } if (string.IsNullOrEmpty(model.Body)) { return(JsonError("Please enter message body")); } foreach (var x in model.TargetEmails) { var k = users.Where(m => m.Id == x).FirstOrDefault(); if (k == null || k.Id == 0) { continue; } user_to_send.Add(k); } foreach (var u in user_to_send) { var body = RenderEmailBody(model.Body, model, u); var title = RenderEmailTitle(model.Title); // insert into email queue PhotoBookmart.Common.Helpers.SendEmail.SendMail(u.Email, title, body); } return(JsonSuccess("", "Send success")); }
// public ActionResult Index() { var model = new MaillingListSendModel(); return(View(model)); }