Module Webform - choix du destinataire

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

j'aimerais pouvoir envoyer un formulaire de contact à 3 destinataires différents, mais pas aux 3 en même temps.

Je m'explique, j'aimerais effectuer un contrôle sur une liste déroulante, en clair selon l'entrée de la liste déroulante que l'internaute a choisi le destinataire varie.

Je me suis plongé dans le fichier webform.module en repérant la fonction mail :

// Mail the webform results.
    foreach ($emails as $cid => $address) {
      // In the case of checkboxes or multiple select, multiple e-mails may need
      // to be sent out.
      if (is_array($address)) {
        foreach ($address as $single_address) {
          drupal_mail('webform', 'submission', $single_address, user_preferred_language($user), array('message' => $messages[$cid], 'subject' => $subjects[$cid], 'headers' => $headers[$cid]), $froms[$cid]);

          // Debugging output for email.
          if (variable_get('webform_debug', 0) >= 2) {
            drupal_set_message('E-mail Headers: <pre>'. htmlentities(print_r($headers[$cid], TRUE)) .'</pre>To: '. $single_address .'<br />From: '. htmlentities($froms[$cid]) .'<br />Subject: '. $subjects[$cid] .'<br />E-mail Body: <pre>'. $messages[$cid] .'</pre>');
          }
        }
      }
      else {
        drupal_mail('webform', 'submission', $address, user_preferred_language($user), array('message' => $messages[$cid], 'subject' => $subjects[$cid], 'headers' => $headers[$cid]), $froms[$cid]);

Donc il faudrait qu'à la place de $froms[$cid] je fasse une condition pour récupérer l'entrée choisie par l'utilisateur dans la liste déroulante. Mais je n'arrive pas à comprendre comment récupérer cette entrée...

Si quelqu'un a une idée merci d'avance de m'en faire part!!

Forum : 
Version de Drupal : 

Bonsoir

Pour créer une liste avec plusieurs destinataires tu peux le faire avec webform.

De mémoire, tu dois créer un champ cck select. Dans la partie option tu insères tes infos par exemple :
toto@mail.com|toto
titi@mail.com|titi

Et en bas tu coche la case envoyer une copie.

Je sais plus ce que j'ai fais sur mon précédent projet? Tiens moi au courant, je regarderai sinon

Merci pour ta réponse rapide JulienD !

J'ai testé ta solution avec le module webform et effectivement cela envoie le mail selon ce que l'utilisateur a choisi dans la liste déroulante, avec pour adresse mail la clé renseignée dans l'option du select.

C'est exactement ce qu'il me fallait :)