コード例 #1
0
        private string BuildHtmlActivationMessage(string template, SystemUserActivationRequest systemUserActivationRequest)
        {
            string activateSystemUserUrl = BuildSystemUserActivationUrl(systemUserActivationRequest);
            string activationMessage     = template.Replace("<activationLink>", activateSystemUserUrl);

            return(activationMessage);
        }
コード例 #2
0
        private string BuildSystemUserActivationUrl(SystemUserActivationRequest systemUserActivationRequest)
        {
            string activateSystemUserUrl = $"{_baseUrl}{_systemUserActivateRoute}";

            activateSystemUserUrl = activateSystemUserUrl.Replace("emailParam", systemUserActivationRequest.Email);
            activateSystemUserUrl = activateSystemUserUrl.Replace("encriptedUsernameParam", systemUserActivationRequest.EncriptedUsername);

            return(activateSystemUserUrl);
        }
コード例 #3
0
        private async Task SendActivationEmail(SystemUser systemUser)
        {
            SystemUserActivationRequest systemUserActivationRequest = new SystemUserActivationRequest
            {
                Email             = systemUser.Email,
                EncriptedUsername = _encrypService.EncrypText(systemUser.Username)
            };

            await _emailService.SendActivationEmail(systemUserActivationRequest);
        }
コード例 #4
0
        async Task IEmailService.SendActivationEmail(SystemUserActivationRequest systemUserActivationRequest)
        {
            var    client   = new SendGridClient(_apiKey);
            var    from     = new EmailAddress(_mailSender, _mailerName);
            string subject  = _activationMailSubject;
            var    to       = new EmailAddress(systemUserActivationRequest.Email);
            string template = await ReadHtmlTemplateForMessage("ActivationEmail.html");

            string htmlContent = BuildHtmlActivationMessage(template, systemUserActivationRequest);

            SendGridMessage msg      = MailHelper.CreateSingleEmail(from, to, subject, string.Empty, htmlContent);
            Response        response = await client.SendEmailAsync(msg);

            if (response.StatusCode != HttpStatusCode.Accepted)
            {
                throw new Exception("No se pudo enviar el correo de activacion");
            }
        }