private string BuildHtmlActivationMessage(string template, SystemUserActivationRequest systemUserActivationRequest) { string activateSystemUserUrl = BuildSystemUserActivationUrl(systemUserActivationRequest); string activationMessage = template.Replace("<activationLink>", activateSystemUserUrl); return(activationMessage); }
private string BuildSystemUserActivationUrl(SystemUserActivationRequest systemUserActivationRequest) { string activateSystemUserUrl = $"{_baseUrl}{_systemUserActivateRoute}"; activateSystemUserUrl = activateSystemUserUrl.Replace("emailParam", systemUserActivationRequest.Email); activateSystemUserUrl = activateSystemUserUrl.Replace("encriptedUsernameParam", systemUserActivationRequest.EncriptedUsername); return(activateSystemUserUrl); }
private async Task SendActivationEmail(SystemUser systemUser) { SystemUserActivationRequest systemUserActivationRequest = new SystemUserActivationRequest { Email = systemUser.Email, EncriptedUsername = _encrypService.EncrypText(systemUser.Username) }; await _emailService.SendActivationEmail(systemUserActivationRequest); }
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"); } }