How to change who a email is sent to depending on which .html.twig template a contact form is being submitted from?

Hello Friends,

I have a contact form located in ContactForm.php that sends a email using the plugin.mail.manager

public function submitForm(array &$form, FormStateInterface $form_state) {

        $module = 'business_listing';
        $key = 'business_listing_contact_submit';
        // recipient email address
        $to = Drupal::config('')->get('mail');
        // senders email address
        $from = Drupal::currentUser()->getEmail();
        $form_values = $form_state->getValues();
        $params = $form_values;

        $language_code = $this->languageManager->getDefaultLanguage()->getId();
        $send = TRUE;
        $result = $this->mailManager->mail($module, $key, $to, $language_code, $params, $from, 

        if ($result['result'] !== true) {
          drupal_set_message($this->t('There was a problem sending your message'), 'error');
        else {    
            // kint($result); die();
              ->set('submitted', true);


Originally this form was built for my websites Contact page and passed to the Contact.html.twig:

    public function loadContactPage() {

       $contactForm = $this->formBuilder->getForm('Drupalbusiness_listingFormContactForm');
       return [
           // Working with our theme.
           '#theme' => 'contact_us',  
           '#form' => $contactForm,
           '#title' => false,
           '#attached' => [
             'library' => [

      // Record does not exist - render: page not found.
      throw new NotFoundHttpException();

The form works fine up to this point and is submitted to the sites email address.

The problem now is that I would like to include this same form into another .html.twig template with its own data and controller. I would like the ContactForm in this template to be submitted to the email address provided in one of ContactForms textfields. 

I know I can just create a new form for each template but this seems abit of a waste as the forms would be identical, except for who the email is being sent to… 

the hook_mail function I currently have implemented inside my .module file looks as follows: 

function business_listing_mail($key, &$message, $params) {
    $options = [
      'langcode' => $message['langcode']
    switch($key) {
        case 'business_listing_contact_submit':
            // senders email address -> current user who is logged in
            $message['from'] = $params['contact_email'];
            $message['subject'] = t('Enquiry from: @company', ['@company' => $params['contact_company']], $options);
            $message['body'][] = $params['contact_message'];


Any help or advice would be greatly appreciated <3

Kind regards,


Drupal version: