public void SendEmail(int TemplateId, int PortalId, int ModuleId, int TabId, int ForumId, int TopicId, int ReplyId, string Comments, Author author) { var _portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); SettingsInfo MainSettings = DataCache.MainSettings(ModuleId); string Subject; string BodyText; string BodyHTML; string sTemplate = string.Empty; var tc = new TemplateController(); TemplateInfo ti = tc.Template_Get(TemplateId, PortalId, ModuleId); Subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, PortalId, ModuleId, TabId, ForumId, TopicId, ReplyId, string.Empty, author.AuthorId, _portalSettings.TimeZoneOffset); BodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, PortalId, ModuleId, TabId, ForumId, TopicId, ReplyId, string.Empty, author.AuthorId, _portalSettings.TimeZoneOffset); BodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, PortalId, ModuleId, TabId, ForumId, TopicId, ReplyId, string.Empty, author.AuthorId, _portalSettings.TimeZoneOffset); BodyText = BodyText.Replace("[REASON]", Comments); BodyHTML = BodyHTML.Replace("[REASON]", Comments); string sFrom; var fc = new ForumController(); Forum fi = fc.Forums_Get(ForumId, -1, false, true); sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : _portalSettings.Email; //Send now var oEmail = new Email(); var subs = new List <SubscriptionInfo>(); var si = new SubscriptionInfo { DisplayName = author.DisplayName, Email = author.Email, FirstName = author.FirstName, LastName = author.LastName, UserId = author.AuthorId, Username = author.Username }; subs.Add(si); oEmail.UseQueue = MainSettings.MailQueue; oEmail.Recipients = subs; oEmail.Subject = Subject; oEmail.From = sFrom; oEmail.BodyText = BodyText; oEmail.BodyHTML = BodyHTML; oEmail.SmtpServer = Host.SMTPServer; // Convert.ToString(_portalSettings.HostSettings["SMTPServer"]); oEmail.SmtpUserName = Host.SMTPUsername; // Convert.ToString(_portalSettings.HostSettings["SMTPUsername"]); oEmail.SmtpPassword = Host.SMTPPassword; // Convert.ToString(_portalSettings.HostSettings["SMTPPassword"]); oEmail.SmtpAuthentication = Host.SMTPAuthentication; // Convert.ToString(_portalSettings.HostSettings["SMTPAuthentication"]); var objThread = new System.Threading.Thread(oEmail.Send); objThread.Start(); }
public static void SendSubscriptions(int TemplateId, int PortalId, int ModuleId, int TabId, Forum fi, int TopicId, int ReplyId, int AuthorId) { var _portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); SettingsInfo MainSettings = DataCache.MainSettings(ModuleId); var sc = new SubscriptionController(); List <SubscriptionInfo> subs = sc.Subscription_GetSubscribers(PortalId, fi.ForumID, TopicId, SubscriptionTypes.Instant, AuthorId, fi.Security.Subscribe); if (subs.Count <= 0) { return; } string Subject; string BodyText; string BodyHTML; string sTemplate = string.Empty; var tc = new TemplateController(); TemplateInfo ti; ti = TemplateId > 0 ? tc.Template_Get(TemplateId) : tc.Template_Get("SubscribedEmail", PortalId, ModuleId); Subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, PortalId, ModuleId, TabId, fi.ForumID, TopicId, ReplyId, string.Empty, AuthorId, _portalSettings.TimeZoneOffset); BodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, PortalId, ModuleId, TabId, fi.ForumID, TopicId, ReplyId, string.Empty, AuthorId, _portalSettings.TimeZoneOffset); BodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, PortalId, ModuleId, TabId, fi.ForumID, TopicId, ReplyId, string.Empty, AuthorId, _portalSettings.TimeZoneOffset); string sFrom; sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : _portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = Subject, From = sFrom, BodyText = BodyText, BodyHTML = BodyHTML, SmtpServer = Host.SMTPServer, // Convert.ToString(_portalSettings.HostSettings["SMTPServer"]), SmtpUserName = Host.SMTPUsername, // Convert.ToString(_portalSettings.HostSettings["SMTPUsername"]), SmtpPassword = Host.SMTPPassword, // Convert.ToString(_portalSettings.HostSettings["SMTPPassword"]), SmtpAuthentication = Host.SMTPAuthentication, // Convert.ToString(_portalSettings.HostSettings["SMTPAuthentication"]), SmtpSSL = Host.EnableSMTPSSL.ToString(), // Convert.ToString(_portalSettings.HostSettings["SMTPEnableSSL"]), UseQueue = MainSettings.MailQueue }; var objThread = new System.Threading.Thread(oEmail.Send); objThread.Start(); }
public static void SendSubscriptions(int TemplateId, int PortalId, int ModuleId, int TabId, Forum fi, int TopicId, int ReplyId, int AuthorId) { var _portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); SettingsInfo MainSettings = DataCache.MainSettings(ModuleId); var sc = new SubscriptionController(); List <SubscriptionInfo> subs = sc.Subscription_GetSubscribers(PortalId, fi.ForumID, TopicId, SubscriptionTypes.Instant, AuthorId, fi.Security.Subscribe); if (subs.Count <= 0) { return; } string Subject; string BodyText; string BodyHTML; string sTemplate = string.Empty; var tc = new TemplateController(); TemplateInfo ti; ti = TemplateId > 0 ? tc.Template_Get(TemplateId) : tc.Template_Get("SubscribedEmail", PortalId, ModuleId); TemplateUtils.lstSubscriptionInfo = subs; Subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, PortalId, ModuleId, TabId, fi.ForumID, TopicId, ReplyId, string.Empty, AuthorId, Convert.ToInt32(_portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); BodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, PortalId, ModuleId, TabId, fi.ForumID, TopicId, ReplyId, string.Empty, AuthorId, Convert.ToInt32(_portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); BodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, PortalId, ModuleId, TabId, fi.ForumID, TopicId, ReplyId, string.Empty, AuthorId, Convert.ToInt32(_portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); string sFrom; sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : _portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = Subject, From = sFrom, BodyText = BodyText, BodyHTML = BodyHTML, UseQueue = MainSettings.MailQueue }; var objThread = new System.Threading.Thread(oEmail.Send); objThread.Start(); }
public static void SendEmail(int templateId, int portalId, int moduleId, int tabId, int forumId, int topicId, int replyId, string comments, Author author) { var portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); var mainSettings = DataCache.MainSettings(moduleId); var sTemplate = string.Empty; var tc = new TemplateController(); var ti = tc.Template_Get(templateId, portalId, moduleId); var subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, portalId, moduleId, tabId, forumId, topicId, replyId, string.Empty, author.AuthorId, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var bodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, portalId, moduleId, tabId, forumId, topicId, replyId, string.Empty, author.AuthorId, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var bodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, portalId, moduleId, tabId, forumId, topicId, replyId, string.Empty, author.AuthorId, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); bodyText = bodyText.Replace("[REASON]", comments); bodyHTML = bodyHTML.Replace("[REASON]", comments); var fc = new ForumController(); var fi = fc.Forums_Get(forumId, -1, false, true); var sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : portalSettings.Email; //Send now var oEmail = new Email(); var subs = new List <SubscriptionInfo>(); var si = new SubscriptionInfo { DisplayName = author.DisplayName, Email = author.Email, FirstName = author.FirstName, LastName = author.LastName, UserId = author.AuthorId, Username = author.Username }; subs.Add(si); oEmail.UseQueue = mainSettings.MailQueue; oEmail.Recipients = subs; oEmail.Subject = subject; oEmail.From = sFrom; oEmail.BodyText = bodyText; oEmail.BodyHTML = bodyHTML; new Thread(oEmail.Send).Start(); }
public static void SendEmailToModerators(int templateId, int portalId, int forumId, int topicId, int replyId, int moduleID, int tabID, string comments, UserInfo user) { var portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); var mainSettings = DataCache.MainSettings(moduleID); var fc = new ForumController(); var fi = fc.Forums_Get(forumId, -1, false, true); if (fi == null) { return; } var subs = new List <SubscriptionInfo>(); var rc = new Security.Roles.RoleController(); var rp = RoleProvider.Instance(); var uc = new Entities.Users.UserController(); var modApprove = fi.Security.ModApprove; var modRoles = modApprove.Split('|')[0].Split(';'); foreach (var r in modRoles) { if (string.IsNullOrEmpty(r)) { continue; } var rid = Convert.ToInt32(r); var rName = rc.GetRole(rid, portalId).RoleName; foreach (UserRoleInfo usr in rp.GetUserRoles(portalId, null, rName)) { var ui = uc.GetUser(portalId, usr.UserID); var si = new SubscriptionInfo { UserId = ui.UserID, DisplayName = ui.DisplayName, Email = ui.Email, FirstName = ui.FirstName, LastName = ui.LastName }; if (!(subs.Contains(si))) { subs.Add(si); } } } if (subs.Count <= 0) { return; } var sTemplate = string.Empty; var tc = new TemplateController(); var ti = tc.Template_Get(templateId, portalId, moduleID); var subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var bodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, comments, user, -1, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var bodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, comments, user, -1, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = subject, From = sFrom, BodyText = bodyText, BodyHTML = bodyHTML, UseQueue = mainSettings.MailQueue }; new Thread(oEmail.Send).Start(); }
public void SendEmailToModerators(int TemplateId, int PortalId, int ForumId, int TopicId, int ReplyId, int ModuleID, int TabID, string Comments, DotNetNuke.Entities.Users.UserInfo User) { var _portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); SettingsInfo MainSettings = DataCache.MainSettings(ModuleID); var fc = new ForumController(); Forum fi = fc.Forums_Get(ForumId, -1, false, true); if (fi == null) { return; } var subs = new List <SubscriptionInfo>(); var rc = new Security.Roles.RoleController(); var uc = new Entities.Users.UserController(); SubscriptionInfo si; string modApprove = fi.Security.ModApprove; string[] modRoles = modApprove.Split('|')[0].Split(';'); if (modRoles != null) { foreach (string r in modRoles) { if (!(string.IsNullOrEmpty(r))) { int rid = Convert.ToInt32(r); string rName = rc.GetRole(rid, PortalId).RoleName; foreach (Entities.Users.UserRoleInfo usr in rc.GetUserRolesByRoleName(PortalId, rName)) { var ui = uc.GetUser(PortalId, usr.UserID); si = new SubscriptionInfo { UserId = ui.UserID, DisplayName = ui.DisplayName, Email = ui.Email, FirstName = ui.FirstName, LastName = ui.LastName }; if (!(subs.Contains(si))) { subs.Add(si); } } } } } if (subs.Count <= 0) { return; } string Subject; string BodyText; string BodyHTML; string sTemplate = string.Empty; var tc = new TemplateController(); TemplateInfo ti = tc.Template_Get(TemplateId, PortalId, ModuleID); Subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, _portalSettings.TimeZoneOffset); BodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, Comments, User, -1, _portalSettings.TimeZoneOffset); BodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, Comments, User, -1, _portalSettings.TimeZoneOffset); string sFrom; sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : _portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = Subject, From = sFrom, BodyText = BodyText, BodyHTML = BodyHTML, SmtpServer = Host.SMTPServer, // Convert.ToString(_portalSettings.HostSettings["SMTPServer"]), SmtpUserName = Host.SMTPUsername, // Convert.ToString(_portalSettings.HostSettings["SMTPUsername"]), SmtpPassword = Host.SMTPPassword, // Convert.ToString(_portalSettings.HostSettings["SMTPPassword"]), SmtpAuthentication = Host.SMTPAuthentication // Convert.ToString(_portalSettings.HostSettings["SMTPAuthentication"]) }; //#if SKU_ENTERPRISE oEmail.UseQueue = MainSettings.MailQueue; //#endif var objThread = new System.Threading.Thread(oEmail.Send); objThread.Start(); }