Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        // 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);
                }
            }
        }
Exemplo n.º 5
0
        //********************************************************************************
        // 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);
            }
        }
Exemplo n.º 6
0
 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);
         }
     }
 }
Exemplo n.º 7
0
 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);
                     }
                     //}
                 }
             }
         }
     }
 }
Exemplo n.º 8
0
        /// <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);
        }
Exemplo n.º 9
0
        /// <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);
        }