예제 #1
0
        /// <summary>
        /// Send recover password email
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="title"></param>
        /// <returns></returns>
        public void SendRecoverLink(string email, string name, string title, Guid activeCode)
        {
            string emailTemplateUrl = _hostEnvironment.GetRootContentUrl()
                                      + "/resources/templates/password_recover.html";

            string emailContent = StreamIO.ReadFile(emailTemplateUrl);

            emailContent = emailContent.Replace("{UserName}", name);
            emailContent = emailContent.Replace("{Url}", "http://localhost:52767/change-password.html?code=" + activeCode).ToString();

            _mesageCenter.Push(new EmailMessage
            {
                Content = emailContent,
                Title   = title,
                To      = email
            });
        }
예제 #2
0
        /// <summary>
        /// Send an email to invite an user joins project
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="memberId"></param>
        /// <returns></returns>
        public async Task SendInvitation(int projectId, int memberId, bool isNewMember,
                                         string title, string activeCode)
        {
            string emailTemplateUrl = _hostEnvironment.GetRootContentUrl()
                                      + "/resources/templates/invite_email.html";

            AccountInfoModel member = await _accountBusiness.GetAccountInfo(memberId);

            ProjectModel project = await GetProject(projectId);

            string password = string.Empty;

            if (isNewMember)
            {
                emailTemplateUrl = _hostEnvironment.GetRootContentUrl()
                                   + "/resources/templates/invite_new_email.html";

                string hash = Cryptography.GetHashString(member.AccountName);
                password = Decrypt.Do(member.Password, hash);
            }

            string emailContent = StreamIO.ReadFile(emailTemplateUrl);

            emailContent = emailContent.Replace("{UserName}", member.DisplayName);
            emailContent = emailContent.Replace("{Project}", project.ProjectName.ToUpper());
            emailContent = emailContent.Replace("{Url}", "http://eztask.dotnetvn.com/project/accept-invite.html?ref=" + activeCode);
            emailContent = emailContent.Replace("{Account}", member.AccountName);
            emailContent = emailContent.Replace("{Password}", password);

            _mesageCenter.Push(new EmailMessage
            {
                Content = emailContent,
                Title   = title + " " + project.ProjectName.ToUpper(),
                To      = member.AccountName
            });
        }