public async Task <IActionResult> AddEmailAccount([FromBody] CreateEmailAccount command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (await _emailAccountService.ExistsByEmailAndUserIdAsync(UserId, command.Email))
            {
                ModelState.AddModelError("Email", "Email address is already taken.");
                return(BadRequest(ModelState));
            }
            try {
                await _emailAccountService.CreateAsync(UserId, command.Email, command.Password, command.ImapHost, command.ImapPort, command.SmtpHost, command.SmtpPort);

                return(StatusCode(201));
            } catch (Exception e) {
                return(BadRequest(e.Message));
            }
        }