code: public function sendEmailAction()
      {
          $username = $this->container->get('request')->request->get('username');
          /** @var $user UserInterface */
          $user = $this->container->get('fos_user.user_manager')->findUserByUsernameOrEmail($username);
          if (null === $user) {
              return $this->container->get('templating')->renderResponse('SonataUserBundle:Admin:Security/Resetting/request.html.' . $this->getEngine(), array(
                  'invalid_username' => $username,
                  'base_template' => $this->container->get('sonata.admin.pool')->getTemplate('layout'),
                  'admin_pool' => $this->container->get('sonata.admin.pool'),
              ));
          }
          if ($user->isPasswordRequestNonExpired($this->container->getParameter('fos_user.resetting.token_ttl'))) {
              return $this->container->get('templating')->renderResponse('SonataUserBundle:Admin:Security/Resetting/passwordAlreadyRequested.html.' . $this->getEngine(), array(
                  'base_template' => $this->container->get('sonata.admin.pool')->getTemplate('layout'),
                  'admin_pool' => $this->container->get('sonata.admin.pool'),
              ));
          }
          if (null === $user->getConfirmationToken()) {
              /** @var $tokenGenerator TokenGeneratorInterface */
              $tokenGenerator = $this->container->get('fos_user.util.token_generator');
              $user->setConfirmationToken($tokenGenerator->generateToken());
          }
          $this->container->get('session')->set(static::SESSION_EMAIL, $this->getObfuscatedEmail($user));
          $this->container->get('fos_user.mailer')->sendResettingEmailMessage($user);
          $user->setPasswordRequestedAt(new \DateTime());
          $this->container->get('fos_user.user_manager')->updateUser($user);
          return new RedirectResponse($this->container->get('router')->generate('sonata_user_admin_resetting_check_email'));
      }
docs: {@inheritdoc}