public async Task <bool> ForgotPassword(ForgotPasswordViewModel forgotPasswordViewModel) { var forgotPasswordRequest = new ForgotPasswordRequest(forgotPasswordViewModel.EmailAddress); var getUserByEmailRequest = new GetUserByEmailRequest { EmailAddress = forgotPasswordViewModel.EmailAddress }; var clientInfo = UserAgentParser.Extract(_userAgent); var userResponse = await _bus.RequestAsync(getUserByEmailRequest); var name = Helpers.GetUserName(userResponse.User); var forgotPasswordResponse = await _bus.RequestAsync(forgotPasswordRequest); var actionurl = $"{_baseUrl}/Account/ChangePassword/{forgotPasswordResponse.Secret}"; var emailTemplateRequest = new EmailTemplateRequest(EmailType.ForgotPassword); var response = await _bus.RequestAsync(emailTemplateRequest); var template = TemplateContentBuilder.Build(response.Template, TemplateContentBuilder.CreateForgotPasswordTemplateContent(name, actionurl, clientInfo.OperatingSystem, clientInfo.BrowserName)); var email = new EmailEvent(new EmailAddress("noreply", "*****@*****.**"), new EmailAddress(name, forgotPasswordViewModel.EmailAddress), "Wachtwoord vergeten ikdoneer.nu", template, true); await _bus.PublishAsync(email); return(true); }
private async Task SendActivationTokenEmail(string userName, string emailAddress, string activationToken) { var actionurl = $"{_baseUrl}/Account/ActivateAccount?Token={activationToken}"; var emailTemplateRequest = new EmailTemplateRequest(EmailType.ConfirmAccount); var response = await _bus.RequestAsync(emailTemplateRequest); var template = TemplateContentBuilder.Build(response.Template, TemplateContentBuilder.CreateConfirmAccountTemplateContent(userName, actionurl)); var email = new EmailEvent(new EmailAddress("noreply", "*****@*****.**"), new EmailAddress(userName, emailAddress), "Account activatie ikdoneer.nu", template, true); await _bus.PublishAsync(email); }
private string GenerateFeedbackMailBody(string link, User addedBy, string title) { var templateData = new Dictionary <string, string> { { NotificationEmailTemplateItems.DomainName, Constants.AppDomainUrl }, { NotificationEmailTemplateItems.NotificationTitle, title }, { NotificationEmailTemplateItems.NotificationBy, addedBy.FirstName }, { NotificationEmailTemplateItems.NotificationByImagePath, Constants.AppDomainUrl + "/Uploads/ProfilePicture/" + addedBy.ProfilePictureName }, { NotificationEmailTemplateItems.NotificationRedirectUrl, Constants.AppDomainUrl + "/" + link } }; var template = new TemplateContentBuilder(UtilityFunctions.FetchEmailTemplateFromPath(EmailTemplatesPath.FeedbackTemplate).ToString()); template.Fill(templateData); return(template.GetText()); }