/// <summary> /// Send email reset autorization and processing link to user /// </summary> /// <param name="emailSender"></param> /// <param name="context"></param> /// <param name="email"></param> /// <param name="username"></param> /// <param name="link"></param> /// <returns></returns> public static Task ChangeEmailResetAsync(this IEmailSender emailSender, ApplicationDbContext context, string email, string username, string link) { if (Settings.Configs.SmtpSettings.enable_email) { if (username.Contains("@")) { username = "******"; } var lst = MailTemplateBLL.Get_Template(context, "USREMLCREQ").Result; if (lst.Count > 0) { string subject = MailProcess.Process2(lst[0].subject, "\\[username\\]", username); subject = MailProcess.Prepare_Email_Signature(subject); string contents = MailProcess.Process2(lst[0].contents, "\\[username\\]", username); contents = MailProcess.Process2(contents, "\\[key_url\\]", System.Text.Encodings.Web.HtmlEncoder.Default.Encode(link)); contents = MailProcess.Process2(contents, "\\[emailaddress\\]", email); contents = MailProcess.Process2(contents, "\\[domainname\\]", Jugnoon.Settings.Configs.GeneralSettings.website_title); contents = MailProcess.Process2(contents, "\\[unsubscribeurl\\]", UrlConfig.UnsubscribeUrl); // attach signature contents = MailProcess.Prepare_Email_Signature(contents); return(emailSender.SendEmailAsync(email, subject, contents)); } } return(Task.CompletedTask); }
/// <summary> /// Send email through contact us form /// </summary> /// <param name="emailSender"></param> /// <param name="context"></param> /// <param name="email"></param> /// <param name="entity"></param> /// <returns></returns> public static Task ContactUsEmailAsync(this IEmailSender emailSender, ApplicationDbContext context, string email, ContactUsViewModel entity) { if (Settings.Configs.SmtpSettings.enable_email) { var lst = MailTemplateBLL.Get_Template(context, "CONTACTUS").Result; if (lst.Count > 0) { string subject = MailProcess.Process2(lst[0].subject, "\\[fullname\\]", entity.SenderName); subject = MailProcess.Prepare_Email_Signature(subject); string contents = MailProcess.Process2(lst[0].contents, "\\[fullname\\]", entity.SenderName); contents = MailProcess.Process2(contents, "\\[phone\\]", entity.PhoneNumber); contents = MailProcess.Process2(contents, "\\[email\\]", entity.EmailAddress); contents = MailProcess.Process2(contents, "\\[message\\]", entity.Body); // attach signature contents = MailProcess.Process2(contents, "\\[website\\]", Settings.Configs.GeneralSettings.website_title); contents = MailProcess.Process2(contents, "\\[website_url\\]", SiteConfiguration.URL); contents = MailProcess.Prepare_Email_Signature(contents); return(emailSender.SendEmailAsync(email, subject, contents)); } } return(Task.CompletedTask); }
/// <summary> /// Send notification to user when password reset event completed successfully /// </summary> /// <param name="emailSender"></param> /// <param name="context"></param> /// <param name="email"></param> /// <param name="username"></param> /// <param name="link"></param> /// <param name="password"></param> /// <returns></returns> public static Task SendEmailConfirmationAsync(this IEmailSender emailSender, ApplicationDbContext context, string email, string username, string link, string password) { if (Settings.Configs.SmtpSettings.enable_email) { var lst = MailTemplateBLL.Get_Template(context, "USRREG").Result; if (lst.Count > 0) { if (username.Contains("@")) { username = "******"; } string subject = MailProcess.Process2(lst[0].subject, "\\[username\\]", username); subject = MailProcess.Prepare_Email_Signature(subject); string contents = MailProcess.Process2(lst[0].contents, "\\[username\\]", username); contents = MailProcess.Process2(contents, "\\[email\\]", email); contents = MailProcess.Process2(contents, "\\[password\\]", password); string url = "<a href=\"" + link + "\">" + link + "</a>"; contents = MailProcess.Process2(contents, "\\[key_url\\]", System.Text.Encodings.Web.HtmlEncoder.Default.Encode(link)); // attach signature contents = MailProcess.Prepare_Email_Signature(contents); return(emailSender.SendEmailAsync(email, subject, contents)); } } return(Task.CompletedTask); }
// Send mail to owner of group if user posted new topic in group private void GroupMailProcessTemplate(string ownerusername, string title, string username, string emailaddress, string inboxurl, long groupid) { //if sending mail option enabled if (Jugnoon.Settings.Configs.SmtpSettings.enable_email) { var lst = MailTemplateBLL.Get_Template(_context, "GRPTPAPR").Result; if (lst.Count > 0) { string subject = MailProcess.Process2(lst[0].subject, "\\[ownerusername\\]", ownerusername); subject = MailProcess.Process2(subject, "\\[username\\]", username); string contents = MailProcess.Process2(lst[0].contents, "\\[ownerusername\\]", ownerusername); contents = MailProcess.Process2(contents, "\\[username\\]", ownerusername); string group_url = Config.GetUrl("group/" + groupid); string url = "<a href=\"" + group_url + "\">" + group_url + "</a>"; contents = MailProcess.Process2(contents, "\\[url\\]", url); contents = MailProcess.Process2(contents, "\\[title\\]", title); contents = MailProcess.Process2(contents, "\\[inboxurl\\]", inboxurl); // attach signature contents = MailProcess.Prepare_Email_Signature(contents); MailProcess.Send_Mail(emailaddress, subject, contents); } } }
//******************************************************************************** // SEND MAIL TO AUTHOR OF TOPIC, ADMIN (MODERATOR) OR ALL USERS WHO POST Comments) //********************************************************************************* // Mail Logic // If user post new topic mail will be sent to user and admin (moderator) // If admin approve topic mail will be sent to author (in case of manual review) // If normal user post reply, mail will be sent to author and all users who contribute replies and admin private void ProcessMail(long tid, long replyid, string username, long groupid, string description, string title) { try { string subject = title; string content = UtilityBLL.StripHTML(description); string url = Forum_Urls.Prepare_Topic_Url(tid, subject, false); if (replyid == 0) { // New Topic Posted Mail Will Be Sent To Admin AND Author // send mail to admin var alst = MailTemplateBLL.Get_Template(_context, "FORUMTOPIC").Result; Send_Email(username, "admin", "", subject, content, url, alst); // send mail to author var tlst = MailTemplateBLL.Get_Template(_context, "FORUMTA").Result; string authoremail = UserBLL.Return_Value_UserId(_context, username, "email"); var authormailpermission = Convert.ToByte(UserSettingsBLL.Get_Field_Value(_context, username, "isemail")); if (authormailpermission == 1) { Send_Email("", username, authoremail, subject, content, url, tlst); } } else { // User Post Reply, Mail will be sent to autho, admin and all users who contribute replies MailTemplateProcess(replyid, subject, content, url, username, groupid); } } catch (Exception ex) { ErrorLgBLL.Add(_context, "Mail Processing Error", "", ex.Message); } }
private void ManageAccount_MailTemplateProcess(string username) { //if sending mail option enabled if (Jugnoon.Settings.Configs.SmtpSettings.enable_email) { string emailaddress = UserBLL.Return_Value_UserId(_context, username, "email"); var lst = MailTemplateBLL.Get_Template(_context, "USRPASSCHN").Result; if (lst.Count > 0) { string subject = MailProcess.Process2(lst[0].subject, "\\[username\\]", username); string contents = MailProcess.Process2(lst[0].contents, "\\[username\\]", username); // attach signature contents = MailProcess.Prepare_Email_Signature(contents); MailProcess.Send_Mail(emailaddress, subject, contents); } } }
private void MailTemplateProcess(long tid, string subject, string content, string url, string username, long groupid) { //if sending mail option enabled if (Jugnoon.Settings.Configs.SmtpSettings.enable_email) { var lst = MailTemplateBLL.Get_Template(_context, "FORUMTREP").Result; if (lst.Count > 0) { string TopicAuthorusername = ForumTopicBLL.Return_Value(_context, tid, "username"); //// send email to admin //string emailaddress = UserBLL.Return_Value(model.username, "email"); //Send_Email(model.username,"admin", subject, content, url, lst); // send mail to all other usernames who already post topi on model content var cuserlist = UserBLL.LoadItems(_context, new MemberEntity() { topicid = tid }).Result; if (cuserlist.Count > 0) { int i = 0; for (i = 0; i <= cuserlist.Count - 1; i++) { //if (cuserlist[i].isautomail == 1) //{ if (cuserlist[i].UserName == TopicAuthorusername) { // topic author GroupMailProcessTemplate(TopicAuthorusername, subject, username, cuserlist[i].Email, url, groupid); } else { // normal user Send_Email(username, cuserlist[i].UserName, cuserlist[i].Email, subject, content, url, lst); } //} } } } } }
/// <summary> /// Send email notification to admin when new user signup /// </summary> /// <param name="emailSender"></param> /// <param name="context"></param> /// <param name="email"></param> /// <param name="username"></param> /// <returns></returns> public static Task SendEmailNotificationAsync(this IEmailSender emailSender, ApplicationDbContext context, string email, string username) { if (Settings.Configs.SmtpSettings.enable_email) { var lst = MailTemplateBLL.Get_Template(context, "USRREGADM").Result; if (lst.Count > 0) { string subject = MailProcess.Process2(lst[0].subject, "\\[username\\]", username); subject = MailProcess.Prepare_Email_Signature(subject); string contents = MailProcess.Process2(lst[0].contents, "\\[username\\]", username); contents = MailProcess.Process2(contents, "\\[email\\]", email); // attach signature contents = MailProcess.Prepare_Email_Signature(contents); return(emailSender.SendEmailAsync(Jugnoon.Settings.Configs.GeneralSettings.admin_mail, subject, contents)); } } return(Task.CompletedTask); }
/// <summary> /// Send notification to user when email reset event completed successfully /// </summary> /// <param name="emailSender"></param> /// <param name="context"></param> /// <param name="email"></param> /// <param name="username"></param> /// <returns></returns> public static Task ChangeEmailResetCompletedAsync(this IEmailSender emailSender, ApplicationDbContext context, string email, string username) { if (Settings.Configs.SmtpSettings.enable_email) { if (username.Contains("@")) { username = "******"; } var lst = MailTemplateBLL.Get_Template(context, "USREMLCHNG").Result; if (lst.Count > 0) { string subject = MailProcess.Process2(lst[0].subject, "\\[username\\]", username); subject = MailProcess.Prepare_Email_Signature(subject); string contents = MailProcess.Process2(lst[0].contents, "\\[username\\]", username); contents = MailProcess.Prepare_Email_Signature(contents); return(emailSender.SendEmailAsync(email, subject, contents)); } } return(Task.CompletedTask); }