Vérification des adresses e-mail
Il est également possible d'effectuer une vérification de l'adresse e-mail sans s'appuyer sur le système de widgets. Ce processus est indépendant du widget et nécessite une implémentation de la vérification du courrier électronique côté serveur. Par conséquent, il n'est pas nécessaire de charger un widget si vous souhaitez uniquement vérifier la validité des adresses électroniques.
En vérifiant les adresses électroniques à l'aide de notre API, vous pouvez vous assurer que seuls les utilisateurs qualifiés ont accès à vos services, tout en garantissant la livraison sécurisée de vos courriels dans leurs boîtes de réception. Grâce à cette vérification, vous pouvez facilement refuser l'accès ou bloquer les utilisateurs ayant des adresses électroniques temporaires. Cette fonctionnalité garantit qu'ils saisissent toujours l'adresse e-mail correcte, ce qui protège la réputation de votre serveur de messagerie et vous permet d'économiser de l'argent.
La vérification des adresses électroniques fonctionne de la même manière que la solution captcha, seule la finalité est différente (/emailverify). Encore une fois, pour éviter d'exposer votre clé secrète, vous ne devez le faire que sur votre serveur.
Vous aurez besoin de votre clé secrète
. Celle-ci peut être générée automatiquement lorsque vous ajoutez un projet à votre tableau de bord ou en utilisant un projet existant.
Pour vous assurer qu'il s'agit d'une adresse email valide qui peut recevoir des emails, vous vérifierez l'adresse email avec le point de terminaison de l'API. Vous devez également vous assurer qu'il ne s'agit pas d'une adresse électronique jetable.
Pour vérifier les adresses électroniques, faites une demande POST à
https://www.zencaptcha.com/captcha/emailverify
avec les paramètres suivants :
Paramètre de POST | Description |
---|---|
secret | Votre clef secrète (ajoutez simplement un projet à votre tableau de bord ou utilisez un projet existant) |
Facultatif: Adresse électronique de l'utilisateur. Vous pouvez également obscurcir la première partie avant le symbole @ (john@example.com -> xxx@example.com), ou simplement spécifier le nom de domaine de l'adresse électronique (pour une confidentialité maximale : example.com). |
N'utilisez pas de requête GET pour appeler /emailverify (ou cela échouera).
Example Curl
Remplacez john@example.com et VOTRE-CLÉ-SECRÈTE par vos valeurs :
curl https://www.zencaptcha.com/captcha/emailverify
-X POST
-H "Content-Type: application/x-www-form-urlencoded"
-d 'email=john@example.com&secret=VOTRE-CLÉ-SECRÈTE'
Résumé de la réponse de la requête POST
Clé de réponse | Description |
---|---|
success | true signifie que l'adresse électronique est valide et qu'il ne s'agit pas d'une adresse jetable ou temporaire. false signifie qu'il s'agit d'une adresse email invalide ou jetable / temporaire. |
emailvalid | "valid_email" signifie qu'il est valide. (Idéalement, vous devriez seulement vérifier s'il s'agit de "valid_email"). "invalid_email" signifie qu'il s'agit d'une adresse électronique non valide ou qu'il n'est pas possible d'envoyer des courriels à cette adresse électronique. "disposable_email" signifie qu'il s'agit d'une adresse électronique jetable ou temporaire. "upgrade_plan" signifie que vous devez être sur un plan payant pour utiliser cette fonctionnalité. "none" signifie que l'adresse e-mail n'a pas été vérifiée (probablement aucune adresse e-mail transmise pour vérification). |
Exemples: PHP / Node / Python / Ruby
- PHP
- Node
- Python
- Ruby
$email = $_POST['email'];
$secret = "VOTRE-CLÉ-SECRÈTE"; //ne jamais partager votre clé secrète
$data = array(
"secret" => $secret,
"email" => $email, //l'adresse électronique de l'utilisateur
);
$options = array(
"http" => array(
"header" => "Content-type: application/x-www-form-urlencoded",
"method" => "POST",
"content" => http_build_query($data),
),
);
$context = stream_context_create($options);
$verify = file_get_contents("https://www.zencaptcha.com/captcha/emailverify", false, $context);
$email_success = json_decode($verify);
if ($email_success->success==false) {
#adresse électronique non valide (ne fait pas confiance à l'utilisateur)
#email_success["emailvalid"] -Vérifier si "invalid_email" ou "disposable_email".
exit();
}
else{
//adresse email valide - continuer avec votre code
}
const https = require('https');
const querystring = require('querystring');
const postData = querystring.stringify({
'secret': 'VOTRE-CLÉ-SECRÈTE', //ne jamais partager votre clé secrète
'email': 'USER-EMAIL-ADDRESS' //l'adresse électronique de l'utilisateur
});
const options = {
hostname: 'www.zencaptcha.com',
path: '/captcha/emailverify',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': postData.length
}
};
const req = https.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
const result = JSON.parse(data);
if (result.success) {
console.log('Verification successful! '+ result.message);
} else {
#adresse électronique non valide (ne fait pas confiance à l'utilisateur)
#email_success["emailvalid"] -Vérifier si "invalid_email" ou "disposable_email".
console.log('Verification failed. '+ result.emailvalid);
return;
}
});
});
req.on('error', (error) => {
console.error(error);
});
req.write(postData);
req.end();
import requests
import json
email = request.getParameter("email") #l'adresse électronique de l'utilisateur
secret = "VOTRE-CLÉ-SECRÈTE" #ne jamais partager votre clé secrète
data = {
"secret": secret,
"email": email
}
url = "https://www.zencaptcha.com/captcha/emailverify"
response = requests.post(url, data=data)
verify = response.text
email_success = json.loads(verify)
if not email_success["success"]:
#adresse électronique non valide (ne fait pas confiance à l'utilisateur)
#email_success["emailvalid"] -Vérifier si "invalid_email" ou "disposable_email".
return
else:
#adresse email valide - continuer avec votre code
require 'net/http'
require 'json'
email = get_parameter("email") #l'adresse électronique de l'utilisateur
secret = "VOTRE-CLÉ-SECRÈTE" #ne jamais partager votre clé secrète
data = {
"secret" => secret,
"email" => email
}
url = URI("https://www.zencaptcha.com/captcha/emailverify")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/x-www-form-urlencoded"
request.body = URI.encode_www_form(data)
response = http.request(request)
verify = response.read_body
email_success = JSON.parse(verify)
if not email_success["success"]
#adresse électronique non valide (ne fait pas confiance à l'utilisateur)
#email_success["emailvalid"] -Vérifier si "invalid_email" ou "disposable_email".
return
else
#adresse email valide - continuer avec votre code
end