public async Task <Result> SendActivationEmail(string login) { var user = await _userManager.GetUserByLogin(login); if (user == null) { throw new UserNotFoundException(); } if (user.EmailConfirmed) { throw new UserAlreadyActivatedException(); } var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); var mail = await _mailBuilder.ActivationEmail() .Build(new ActivationMailData { Name = user.UserName, ActivationUrl = _emailUrlBuilder.BuildActivationUrl(token, user.Email) }, new MailAddress(user.Email, user.UserName)); await _mailService.SendAsync(mail); return(new Result(true)); }