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));
        }