Skip to content
Commencez avec 100 crédits de vérification gratuits
Qualisend
Tous les articles
Guides / 29 juin 2026

Comment vérifier les e-mails issus de Google Forms

9 minutes read

Qualisend team
Diagramme de flux : un Google Form alimente un webhook Apps Script onFormSubmit qui appelle l'API de vérification Qualisend et réinscrit un verdict deliverable, risky ou undeliverable dans la feuille de calcul liée.

Google Forms acceptera sans broncher jane@gmial.com, une adresse jetable issue d'un domaine éphémère, ou l'adresse d'une entreprise qui a mis la clé sous la porte il y a deux ans. Le réglage intégré « adresse e-mail valide » vérifie seulement que le texte ressemble à une adresse — il ne demande jamais s'il y a une vraie boîte aux lettres derrière. Pour vérifier réellement les e-mails issus de Google Forms, il vous faut une deuxième étape : un contrôle concret face au système de messagerie, soit au moment où une réponse arrive, soit par lot ensuite. Ce guide présente les deux approches, en utilisant Google Apps Script comme liant.

La réponse en bref#

Deux voies, selon que vous avez besoin du verdict en direct ou que vous pouvez nettoyer par lots :

  1. Temps réel — ajoutez un déclencheur onFormSubmit dans Apps Script qui lit l'adresse soumise, appelle l'API Qualisend avec UrlFetchApp, et réinscrit le verdict dans la Google Sheet liée. Chaque nouvelle réponse est scorée à mesure qu'elle arrive.
  2. En masse — les réponses vivent déjà dans une feuille de calcul, alors téléchargez-les au format CSV et lancez une seule vérification en masse. Idéal pour un formulaire qui collecte depuis un certain temps, ou quand vous ne voulez pas toucher au code.

Les deux reposent sur le même verdict — deliverable, risky, undeliverable ou unknown, plus des sous-indicateurs pour les adresses jetables, génériques et gratuites. Ce qui change, c'est le moment.

Voie 1 : vérifier les e-mails de Google Forms en temps réel avec Apps Script#

Google Forms ne peut pas appeler d'API externe par lui-même, mais la feuille de calcul où affluent ses réponses le peut — via Apps Script. Le plan est simple : se déclencher à chaque soumission, récupérer l'e-mail, interroger Qualisend à son sujet, et estampiller la réponse à côté de la ligne.

Mettez le script en place. Ouvrez la Google Sheet qui recueille vos réponses (dans l'éditeur de formulaire, Réponses → Associer à Sheets si ce n'est pas déjà fait). Depuis la feuille, allez dans Extensions → Apps Script. Avant toute chose, stockez votre clé pour qu'elle ne se trouve jamais dans le code : dans l'éditeur de scripts, ouvrez Paramètres du projet → Propriétés du script et ajoutez QUALISEND_API_KEY avec votre valeur. Le script la lit à l'exécution avec PropertiesService.

Puis collez un gestionnaire comme celui-ci. Consultez la référence de l'API pour connaître le chemin exact du point de terminaison et la forme de la requête — l'URL ci-dessous est un espace réservé :

// Bound to the responses spreadsheet.
// Runs on each new Form submission (see trigger setup below).

const QUALISEND_URL = 'https://api.qualisend.com/v1/verify'; // confirm at /developers
const EMAIL_QUESTION = 'Email address'; // your exact question title
const STATUS_COL = 8;                    // an empty column to write the verdict into

function onFormSubmit(e) {
  const email = (e.namedValues[EMAIL_QUESTION] || [])[0];
  if (!email) return;

  const apiKey = PropertiesService.getScriptProperties().getProperty('QUALISEND_API_KEY');

  const res = UrlFetchApp.fetch(QUALISEND_URL, {
    method: 'post',
    contentType: 'application/json',
    headers: { Authorization: 'Bearer ' + apiKey },
    payload: JSON.stringify({ email }),
    muteHttpExceptions: true, // handle errors ourselves instead of throwing
  });

  // Fail open: if the check errors, keep the response — never lose a real lead.
  if (res.getResponseCode() !== 200) return;

  const { result } = JSON.parse(res.getContentText());
  const row = e.range.getRow();
  const sheet = e.range.getSheet();

  sheet.getRange(row, STATUS_COL).setValue(result.status);       // deliverable | risky | undeliverable | unknown
  sheet.getRange(row, STATUS_COL + 1).setValue(result.score);    // 0-100
}

L'objet e que vous remet une soumission de formulaire est la partie utile : e.namedValues associe chaque intitulé de question à sa réponse, et e.range est la ligne qui vient d'être écrite — ainsi e.range.getRow() vous indique exactement quelle ligne estampiller. Faites correspondre EMAIL_QUESTION à l'intitulé de votre question au caractère près, et pointez STATUS_COL vers une colonne vide.

Ajoutez le déclencheur. Un déclencheur simple (une simple fonction onFormSubmit nue) ne peut pas appeler UrlFetchApp, car atteindre un service externe requiert une autorisation dont les déclencheurs simples ne disposent pas. Il vous faut plutôt un déclencheur installable. Dans l'éditeur de scripts, ouvrez Déclencheurs (l'icône d'horloge) → Ajouter un déclencheur, et choisissez :

  • Fonction : onFormSubmit
  • Source de l'événement : Depuis la feuille de calcul
  • Type d'événement : Lors de l'envoi du formulaire

Enregistrez, approuvez une fois l'invite d'autorisation, et vous voilà en ligne. Soumettez une réponse de test et observez le statut et le score apparaître dans les colonnes que vous avez choisies.

Un mot sur le moment du contrôle. Qualisend renvoie immédiatement les contrôles locaux rapides (syntaxe, domaine, adresse jetable, adresse générique, faute de frappe), la sonde SMTP plus poussée de la boîte aux lettres se terminant peu après. Pour un estampillage en temps réel sur la feuille, le result immédiat est ce qu'il vous faut — vous obtenez un verdict exploitable sans faire patienter la personne qui a soumis. Si vous voulez plus tard la réponse confirmée par SMTP pour une ligne limite, repassez-la par la voie en masse, où quelques secondes de latence n'ont pas d'importance. Comment fonctionne la vérification des e-mails explique en détail pourquoi l'étape SMTP est la plus lente.

Voie 2 : vérifier en masse la feuille des réponses#

Si votre formulaire collecte depuis des mois, ou si vous préférez ne pas maintenir de script, faites l'impasse totale sur le déclencheur. Vos réponses sont déjà une feuille de calcul — vérifiez-les en une seule passe.

  1. Ouvrez la Google Sheet liée (ou l'onglet Réponses du formulaire → Associer à Sheets).
  2. Fichier → Télécharger → Valeurs séparées par des virgules (.csv).
  3. Importez ce CSV dans la vérification en masse de Qualisend, associez la colonne d'e-mail, et lancez la tâche.
  4. Téléchargez les résultats et faites-les correspondre à vos lignes par e-mail, ou recollez la colonne de statut dans la feuille.

Le mode en masse exécute tout le pipeline, y compris la sonde SMTP, sur chaque ligne — il attrape donc les boîtes aux lettres mortes qu'un contrôle de syntaxe ne repérerait jamais. C'est la même routine que vous utiliseriez pour n'importe quelle liste exportée ; notre guide sur comment nettoyer une liste d'e-mails traite du dédoublonnage, de la gestion des adresses génériques, et de ce qu'il faut faire du lot risky. Pour un contrôle rapide et ponctuel sur une seule adresse, le vérificateur d'adresse unique gratuit ne réclame aucun CSV.

Agir sur les verdicts#

Un verdict n'est utile que s'il change ce que vous faites ensuite. Peu importe la façon dont vous l'avez recueilli, traitez les quatre statuts ainsi :

VerdictQue faire de la réponse
deliverableGardez-la. Une vraie boîte aux lettres a accepté la sonde — vous pouvez lui écrire sans risque.
undeliverableSupprimez-la. Lui écrire signifie un rebond dur, et les rebonds sont ce qui nuit à votre réputation d'expéditeur.
riskySegmentez-la. Souvent un domaine catch-all — envoyez avec prudence et surveillez l'engagement avant de lui faire confiance.
unknownRéessayez plus tard. Le serveur de messagerie n'a pas donné de réponse claire ; n'écartez pas pour autant un prospect peut-être réel.

Les sous-indicateurs affinent le tableau. Un indicateur disposable sur une participation à un jeu-concours est en général une adresse jetable dont vous pouvez vous débarrasser ; un indicateur role (info@, support@) peut compter selon la finalité du formulaire. Adresses génériques, jetables et gratuites explique quand chacune vaut la peine d'être filtrée. Dans le script en temps réel, vous pouvez agir dessus immédiatement — par exemple, en inscrivant une note « à revoir » dans une colonne lorsque result.sub_flags.disposable vaut vrai.

Quelle voie choisir ?#

Optez pour le déclencheur Apps Script en temps réel lorsque les réponses sont des prospects que vous relancez rapidement — demandes de démo, listes d'attente, contenu réservé — et que vous voulez le verdict posé à côté de chaque ligne dès qu'elle arrive. Cela coûte un crédit par soumission et un peu de maintenance de script.

Optez pour le mode en masse lorsque vous avez un arriéré à nettoyer, quand vous préférez éviter le code, ou quand un formulaire très actif ferait exploser le quota UrlFetchApp grand public. Rien ne vous empêche de faire les deux : lancez le déclencheur sur les nouvelles réponses et une passe en masse mensuelle pour revérifier les adresses susceptibles d'être devenues obsolètes.

Dans les deux cas, le même principe que dans notre guide de vérification à l'inscription s'applique — vérifiez avant qu'une adresse n'atteigne votre outil d'envoi, pour qu'une faute de frappe devienne un prospect corrigé plutôt qu'un rebond que vous payez plus tard. Si vos formulaires sont répartis sur plusieurs outils, le schéma se généralise : une étape Zapier no-code ou un webhook Typeform fait le même travail pour ces plateformes.

Foire aux questions#

Google Forms peut-il vérifier des adresses e-mail par lui-même ?#

Non. Google Forms propose une option « Validation des réponses » qui vérifie qu'une réponse ressemble à un e-mail — la bonne forme, un @, un domaine — mais elle ne contacte jamais le serveur de messagerie, si bien qu'elle ne peut pas distinguer une vraie boîte aux lettres d'une faute de frappe ou d'un domaine jetable. Ce contrôle de forme n'est qu'un premier filtre — il laisse passer jane@gmial.com sans broncher. Une vérification réelle exige l'API ou l'étape en masse décrite plus haut.

Faut-il écrire du code pour vérifier les réponses de Google Forms ?#

Uniquement pour la voie en temps réel. Le déclencheur Apps Script demande de coller un court script et de configurer un déclencheur, mais le code est réduit et réutilisable. Si vous préférez l'éviter entièrement, la voie en masse se fait au tout venant : téléchargez les réponses au format CSV, importez-les pour une vérification en masse, et réintégrez les résultats. Sans script, sans déclencheur.

La vérification va-t-elle ralentir la personne qui remplit mon formulaire ?#

Non. Avec le déclencheur Apps Script, le contrôle s'exécute après la soumission — le répondant a déjà vu l'écran de confirmation pendant que votre feuille est estampillée discrètement en arrière-plan. Rien ne bloque le formulaire. Si vous voulez que la vérification conditionne la soumission elle-même, cela relève d'un formulaire personnalisé doté d'un point de terminaison serverless, pas de Google Forms natif.

Comment garder ma clé d'API Qualisend hors du script ?#

Stockez-la dans les Propriétés du script, pas dans le code. Dans l'éditeur Apps Script, ouvrez Paramètres du projet → Propriétés du script, ajoutez QUALISEND_API_KEY, et lisez-la à l'exécution avec PropertiesService.getScriptProperties().getProperty(...), comme le fait l'extrait ci-dessus. Utilisez une clé à portée limitée depuis votre tableau de bord Qualisend pour qu'elle ne dispose que des permissions de vérification, et changez-la si elle venait à être exposée.


Prêt à faire le ménage dans vos réponses Google Forms ? Le forfait gratuit inclut 100 crédits pour tester l'une ou l'autre voie, le vérificateur d'adresse unique gratuit ne réclame aucune configuration, et la référence de l'API présente le point de terminaison /verify avec des exemples prêts à copier-coller en sept langues.

Your reputation, protected.

Clean your first list in minutes. 100 free credits, no card required.

Get started