E-Mail-Adressen verifizieren
Die Überprüfung von E-Mail-Adressen ist auch ohne das Widgetsystem möglich. Dazu ist lediglich eine serverseitige Implementierung der E-Mail-Validierung erforderlich. Daher ist es nicht notwendig, ein Widget zu laden, wenn Sie nur die Gültigkeit von E-Mail-Adressen überprüfen möchten.
Durch die Verifizierung von E-Mail-Adressen mit unserer API können Sie sicherstellen, dass nur qualifizierte Nutzer Zugang zu Ihren Diensten erhalten und gleichzeitig eine sichere Zustellung Ihrer E-Mails an deren Posteingang gewährleisten. Mit dieser Verifizierung können Sie Nutzern mit temporären E-Mail-Adressen problemlos den Zugang verweigern oder sie sperren. Diese Funktion garantiert, dass sie immer die richtige E-Mail-Adresse eingeben, was den Ruf Ihres Mailservers schützt und Ihnen Geld spart.
Die serverseitige Verifizierung von E-Mail-Adressen funktioniert genauso wie die Captcha-Verifizierung, nur der Endpunkt ist ein anderer (/emailverify). Um Ihren geheimen Schlüssel nicht preiszugeben, sollten Sie auch dies nur auf Ihrem Server durchführen.
Sie benötigen Ihren "geheimen Schlüssel". Dieser kann automatisch generiert werden, wenn Sie ein Projekt zu Ihrem Dashboard hinzufügen oder indem Sie ein bestehendes Projekt verwenden.
Um E-Mail-Adressen zu überprüfen, senden Sie eine POST-Anfrage an
https://www.zencaptcha.com/captcha/emailverify
mit den folgenden Parametern:
Post Parameter | Beschreibung |
---|---|
secret | Ihr geheimer Schlüssel (fügen Sie einfach ein Projekt zu Ihrem Dashboard hinzu oder verwenden Sie ein bestehendes Projekt) |
Optional: Die E-Mail-Adresse des Benutzers. Alternativ können Sie den ersten Teil vor dem @-Symbol verschleiern (john@example.com -> xxx@example.com), oder einfach den Domänennamen der E-Mail-Adresse angeben (für maximalen Datenschutz: example.com). |
Verwenden Sie keine GET-Anfrage für den Aufruf von /emailverify (sonst schlägt es fehl)
curl Beispiel
Ändern Sie BENUTZER-EMAIL-ADRESSE und GEHEIMER-SCHLÜSSEL mit Ihren Werten:
curl https://www.zencaptcha.com/captcha/emailverify
-X POST
-H "Content-Type: application/x-www-form-urlencoded"
-d 'email=BENUTZER-EMAIL-ADRESSE&secret=GEHEIMER-SCHLÜSSEL'
Zusammenfassung der Antwort der POST-Anfrage
Antwortschlüssel | Beschreibung |
---|---|
success | true bedeutet, dass die E-Mail-Adresse gültig ist und es sich nicht um eine Wegwerf- oder temporäre E-Mail-Adresse handelt. false bedeutet, dass es sich um eine ungültige oder Wegwerf- bzw. temporäre E-Mail-Adresse handelt. Verwenden Sie emailvalid , um mehr zu erfahren. |
emailvalid | "valid_email" bedeutet, dass es gültig ist. (Im Idealfall sollten Sie nur prüfen, ob es sich um "valid_email" handelt). "invalid_email" bedeutet, dass es sich um eine ungültige E-Mail-Adresse handelt oder dass es nicht möglich ist, E-Mails an diese E-Mail-Adresse zuzustellen. "disposable_email" bedeutet, dass es sich um eine Wegwerf- oder temporäre E-Mail-Adresse handelt. "upgrade_plan" bedeutet, dass Sie einen kostenpflichtigen Plan haben müssen, um diese Funktion zu nutzen. "none" bedeutet, dass die E-Mail-Adresse nicht überprüft wurde (wahrscheinlich keine E-Mail Adresse zur Überprüfung übermittelt) |
Examples: PHP / Node / Python / Ruby
- PHP
- Node
- Python
- Ruby
$email = $_POST['email'];
$secret = "GEHEIMER-SCHLÜSSEL-HIER-EINGEBEN"; //Teilen Sie niemals Ihren Schlüssel öffentlich
$data = array(
"secret" => $secret,
"email" => $email, //E-Mail-Adresse des Benutzers
);
$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) {
#ungültige E-Mail-Adresse (der Benutzer ist nicht vertrauenswürdig)
#email_success["emailvalid"] -prüfen, ob "invalid_email" oder "disposable_email"
exit();
}
else{
//gültige E-Mail Adresse - weiter mit Ihrem Code
}
const https = require('https');
const querystring = require('querystring');
const postData = querystring.stringify({
'secret': 'GEHEIMER-SCHLÜSSEL-HIER-EINGEBEN', //Teilen Sie niemals Ihren Schlüssel öffentlich
'email': 'USER-EMAIL-ADDRESS' //E-Mail-Adresse des Benutzers
});
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) {
//gültige E-Mail Adresse - weiter mit Ihrem Code
console.log('Verification successful! '+ result.message);
} else {
#ungültige E-Mail-Adresse (der Benutzer ist nicht vertrauenswürdig)
#email_success["emailvalid"] -prüfen, ob "invalid_email" oder "disposable_email"
console.log('Verification failed. '+ result.emailvalid);
return;
//nicht fortfahren
}
});
});
req.on('error', (error) => {
console.error(error);
});
req.write(postData);
req.end();
import requests
import json
email = request.getParameter("email") #E-Mail-Adresse des Benutzers
secret = "GEHEIMER-SCHLÜSSEL-HIER-EINGEBEN" #Teilen Sie niemals Ihren Schlüssel öffentlich
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"]:
#ungültige E-Mail-Adresse (der Benutzer ist nicht vertrauenswürdig)
#email_success["emailvalid"] #prüfen, ob "invalid_email" oder "disposable_email"
return
else:
#gültige E-Mail Adresse - weiter mit Ihrem Code
require 'net/http'
require 'json'
email = get_parameter("email") #E-Mail-Adresse des Benutzers
secret = "GEHEIMER-SCHLÜSSEL-HIER-EINGEBEN" #Teilen Sie niemals Ihren Schlüssel öffentlich
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"]
#ungültige E-Mail-Adresse (der Benutzer ist nicht vertrauenswürdig)
#email_success["emailvalid"] #prüfen, ob "invalid_email" oder "disposable_email"
return
else
#gültige E-Mail Adresse - weiter mit Ihrem Code
end