Receiving form values on mail I am trying to receive the values of the form on my email, but I just receive empty mails. What is wrong in my code?

 /**
  * {@inheritdoc}
  */
 public function submitForm(array &amp;$form, FormStateInterface $form_state) {         
   $langcode = 'fr';
   $to = 'my_mail@gmail.com';

   $mailManager = \Drupal::service('plugin.manager.mail');
   $module = 'FrenchForm';
   $key = 'New contact';
   $params = array(
    'body' =&gt; 'test',
    'subject' =&gt; 'Website Information Request',
    );
   $send = true;
   $message['subject'] = t('New mail');
   $message['body'][] = t('test');

   $result = $mailManager-&gt;mail($module, $key, $to, $langcode, $params, NULL, $send);   
}
To send an email, Drupal 8 is not different from Drupal 7: You also need to implement hook_mail() as described in MailManager::mail(). 

See also the code used from MailManager::doMail(), which is the method that effectively composes and sends the email.
First, it initializes the $message variable.

  // Bundle up the variables into a structured array for altering.
  $message = array(
    'id' =&gt; $module . '_' . $key,
    'module' =&gt; $module,
    'key' =&gt; $key,
    'to' =&gt; $to,
    'from' =&gt; $site_mail,
    'reply-to' =&gt; $reply,
    'langcode' =&gt; $langcode,
    'params' =&gt; $params,
    'send' =&gt; TRUE,
    'subject' =&gt; '',
    'body' =&gt; array(),
  );


It passes that variable to the implementation of hook_mail() done from the module that is sending the email.

  // Build the email (get subject and body, allow additional headers) by
  // invoking hook_mail() on this module. We cannot use
  // moduleHandler()-&gt;invoke() as we need to have $message by reference in
  // hook_mail().
  if (function_exists($function = $module . '_mail')) {
    $function($key, $message, $params);
  }


Then, it sends the email.

  // Optionally send email.
  if ($send) {
    // The original caller requested sending. Sending was canceled by one or
    // more hook_mail_alter() implementations. We set 'result' to NULL,
    // because FALSE indicates an error in sending.
    if (empty($message['send'])) {
      $message['result'] = NULL;
    }
    // Sending was originally requested and was not canceled.
    else {
      // Ensure that subject is plain text. By default translated and
      // formatted strings are prepared for the HTML context and email
      // subjects are plain strings.
      if ($message['subject']) {
        $message['subject'] = PlainTextOutput::renderFromHtml($message['subject']);
      }
      $message['result'] = $system-&gt;mail($message);
      // Log errors.
      if (!$message['result']) {
        $this-&gt;loggerFactory-&gt;get('mail')
          -&gt;error('Error sending email (from %from to %to with reply-to %reply).', array(
            '%from' =&gt; $message['from'],
            '%to' =&gt; $message['to'],
            '%reply' =&gt; $message['reply-to'] ? $message['reply-to'] : $this-&gt;t('not set'),
          ));
        drupal_set_message($this-&gt;t('Unable to send email. Contact the site administrator if the problem persists.'), 'error');
      }
    }


As you see, the email is sent using $message, not $parameters. If you don't implement hook_mail(), $message['body'] will be an empty array, and $message['subject'] will be an empty string.
That is why you get empty emails.