/// <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 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 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 admin or author of user private void Send_Email(string poster_username, string rusername, string emailaddress, string subject, string content, string url, List <JGN_MailTemplates> lst) { if (rusername != "guest") { if (rusername == "admin") { // mail send to admin emailaddress = Jugnoon.Settings.Configs.GeneralSettings.admin_mail; } string msubject = MailProcess.Process2(lst[0].subject, "\\[poster_username\\]", poster_username); msubject = MailProcess.Process2(msubject, "\\[username\\]", rusername); msubject = MailProcess.Process2(msubject, "\\[subject\\]", subject); var str = new StringBuilder(); str.AppendLine("<a href=\"" + url + "\">" + subject + "</a><br /><br />"); str.AppendLine(WebUtility.HtmlDecode(UtilityBLL.Process_Content_Text(content))); string contents = MailProcess.Process2(lst[0].contents, "\\[poster_username\\]", poster_username); contents = MailProcess.Process2(contents, "\\[username\\]", rusername); contents = MailProcess.Process2(contents, "\\[content\\]", str.ToString()); // attach signature contents = MailProcess.Prepare_Email_Signature(contents); MailProcess.Send_Mail(emailaddress, msubject, contents); } }
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); } } }
/// <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); }