E-Mail-Validierung – Standard-API
Der Endpunkt lookupemail validiert eine vollständige E-Mail-Adresse und meldet ihre Syntax, Domain und ihren Postfachstatus, mit einem optionalen Korrekturvorschlag.
Wann dieser Endpunkt verwendet wird - Rufen Sie
lookupemail auf, sobald der Benutzer eine vollständige E-Mail-Adresse eingegeben hat (oder das Feld verlassen hat), um zu bestätigen, dass sie gültig und zustellbar ist, bevor Sie sie speichern. Um Vervollständigungen anzubieten, während der Benutzer noch tippt, siehe Email-API — E-Mail-Adresse vorschlagen (REST) →
lookupemail
Anfrage
Sowohl GET als auch POST werden unterstützt.
{SERVER_ADDRESS} und {LICENCE_CODE} werden von DQE bei der Kontoerstellung bereitgestellt. Wenden Sie sich an Ihren DQE-Kundenbetreuer, um diese Zugangsdaten zu erhalten.
GEThttps://{SERVER_ADDRESS}/v1/lookupemail/?Email={EMAIL}&Licence={LICENCE_CODE}&Rectify={RECTIFY}&CheckUser={CHECK_USER}&TimeOut={TIME_OUT}
Codebeispiele
Gültige Adresse, Syntax und Domain OK
curl "https://{SERVER_ADDRESS}/v1/lookupemail/?Email=toto%40gmail.com&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/lookupemail/?" + new URLSearchParams({
Email: "toto@gmail.com",
Licence: "{LICENCE_CODE}"
}))
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.get(
"https://{SERVER_ADDRESS}/v1/lookupemail/",
params={
"Email": "toto@gmail.com",
"Licence": "{LICENCE_CODE}",
},
)
print(response.json())
<?php
$params = http_build_query([
'Email' => 'toto@gmail.com',
'Licence' => '{LICENCE_CODE}',
]);
$ch = curl_init("https://{SERVER_ADDRESS}/v1/lookupemail/?{$params}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
const axios = require('axios');
axios.get('https://{SERVER_ADDRESS}/v1/lookupemail/', {
params: {
Email: 'toto@gmail.com',
Licence: '{LICENCE_CODE}'
}
})
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String url = "https://{SERVER_ADDRESS}/v1/lookupemail/"
+ "?Email=toto%40gmail.com&Licence={LICENCE_CODE}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var url = "https://{SERVER_ADDRESS}/v1/lookupemail/" +
"?Email=toto%40gmail.com&Licence={LICENCE_CODE}";
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://{SERVER_ADDRESS}/v1/lookupemail/" +
"?Email=toto%40gmail.com&Licence={LICENCE_CODE}"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
POSThttps://{SERVER_ADDRESS}/v1/lookupemail/
Senden Sie alle Parameter im Request-Body im Format Content-Type: application/x-www-form-urlencoded. Die Serveradresse bleibt in der URL.
Codebeispiele
Gültige Adresse, Syntax und Domain OK
curl -X POST "https://{SERVER_ADDRESS}/v1/lookupemail/" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "Email=toto@gmail.com" \
-d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/lookupemail/", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
Email: "toto@gmail.com",
Licence: "{LICENCE_CODE}"
})
})
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.post(
"https://{SERVER_ADDRESS}/v1/lookupemail/",
data={
"Email": "toto@gmail.com",
"Licence": "{LICENCE_CODE}",
},
)
print(response.json())
<?php
$ch = curl_init("https://{SERVER_ADDRESS}/v1/lookupemail/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'Email' => 'toto@gmail.com',
'Licence' => '{LICENCE_CODE}',
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
const axios = require('axios');
const qs = require('querystring');
axios.post('https://{SERVER_ADDRESS}/v1/lookupemail/', qs.stringify({
Email: 'toto@gmail.com',
Licence: '{LICENCE_CODE}'
}))
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String form = "Email=toto%40gmail.com&Licence={LICENCE_CODE}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://{SERVER_ADDRESS}/v1/lookupemail/"))
.header("Content-Type", "application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString(form))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var form = new Dictionary<string, string> {
["Email"] = "toto@gmail.com",
["Licence"] = "{LICENCE_CODE}"
};
var response = await client.PostAsync(
"https://{SERVER_ADDRESS}/v1/lookupemail/",
new FormUrlEncodedContent(form));
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
form := url.Values{}
form.Set("Email", "toto@gmail.com")
form.Set("Licence", "{LICENCE_CODE}")
resp, err := http.PostForm("https://{SERVER_ADDRESS}/v1/lookupemail/", form)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
Parameter
| Parameter | Beschreibung | Pflicht / Opt. |
|---|---|---|
| Zu validierende E-Mail-Adresse. | Erforderlich | |
| Licence | Ihr DQE-Lizenzschlüssel oder OAuth2-Token. Wenden Sie sich an den Support, falls Sie noch keinen haben. | Erforderlich |
| Rectify |
Y, um einen Korrekturvorschlag zu erhalten, wenn die Syntax ungültig oder die Domain unbekannt ist.Standard:
N (keine Korrektur vorgeschlagen) |
Optional |
| CheckUser |
N, wenn der Teil vor dem @-Zeichen (Benutzername) nicht geprüft werden soll.Standard:
Y (Benutzername wird geprüft) |
Optional |
| TimeOut | Maximale Abfragezeit für die Prüfung, in Sekunden. Beispiel: 0.5 für 500 ms.Standard:
6
|
Optional |
Antwort
Bei Erfolg gibt die API ein JSON-Objekt zurück, das die Anzahl der Ergebnisse und ein Array der validierten E-Mail-Adressen enthält.
Fachliche Lesart:
IdError und ActivityCode enthalten das detaillierte Validierungsergebnis - die vollständige Liste finden Sie in der Referenz der API-Antwortcodes. SuggestedEmail wird nur befüllt, wenn Rectify=Y gesetzt ist und eine Korrektur gefunden wurde.| Schlüssel | Beschreibung | Typ |
|---|---|---|
| Found | Anzahl der zurückgegebenen E-Mail-Adressen. | Integer |
| Emails | Array der Validierungsergebnisse, ein Eintrag pro übermittelter E-Mail-Adresse. | Array |
| ActivityCode | Aktivitätsstatus der E-Mail-Adresse. Siehe die Referenz der API-Antwortcodes. | String |
| IdError | Rückgabecode der Validierung. Siehe die Referenz der API-Antwortcodes. | String |
| Corrected |
1, wenn eine Korrektur angewendet wurde; sonst 0. |
Integer |
| SuggestedEmail | Korrigierte E-Mail-Adresse, zurückgegeben, wenn Rectify=Y gesetzt ist und eine Korrektur gefunden wurde. |
String |
| InputEmail | In der Anfrage übermittelte E-Mail-Adresse. | String |
Antwortbeispiel
Gültige Adresse, keine Korrektur angewendet
{
"Found": 1,
"Emails": [
{
"ActivityCode": "",
"IdError": "02",
"Corrected": 0,
"SuggestedEmail": "toto@gmail.com",
"InputEmail": "toto@gmail.com"
}
]
}
Antwortcodes
IdError-Codes
| Code | Beschreibung | Empfohlene UI-Meldung |
|---|---|---|
00 |
Gültige E-Mail. | Gültige E-Mail |
01 |
Korrekte E-Mail, aber der Name konnte nicht überprüft werden. | Gültige E-Mail |
02 |
E-Mail-Adresse für diese Domain nicht gefunden. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
03 |
Postfach ist voll (Soft Bounce). | Bitte überprüfen Sie Ihre E-Mail-Adresse |
04 |
Leere E-Mail. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
91 |
Syntaxfehler. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
92 |
Unbekannte Domain. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
93 |
E-Mail oder Domain auf der Sperrliste. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
94 |
Nicht autorisierter Benutzername. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
95 |
Temporäre Wegwerf-E-Mail-Adresse. | Bitte überprüfen Sie Ihre E-Mail-Adresse |
99 |
Dienst nicht verfügbar. | Gültige E-Mail |
ActivityCode-Codes
Betrachten Sie M als den aktuellen Monat.
| Code | Beschreibung |
|---|---|
100 |
Die E-Mail wurde einmal zugestellt. |
200 |
Die E-Mail ist gültig. |
201 |
E-Mail war im letzten Monat aktiv. |
202 |
E-Mail war zwischen M-1 und M-2 aktiv. |
203 |
E-Mail war zwischen M-2 und M-3 aktiv. |
204 |
E-Mail war zwischen M-3 und M-4 aktiv. |
206 |
E-Mail war zwischen M-4 und M-6 aktiv. |
209 |
E-Mail war zwischen M-6 und M-9 aktiv. |
212 |
E-Mail war zwischen M-9 und M-12 aktiv. |
300 |
Inaktive E-Mail. |
Fehler
| HTTP | Fehlertyp | Antwort-Body |
|---|---|---|
| 400 | Fehlender oder leerer Pflichtparameter (z. B. Email) |
{"status": 400, "message": "Missing parameters", "details": "Email", "error": "bad request"} |
| 401 | Ungültiger oder nicht autorisierter Lizenzschlüssel | {"status": 401, "message": "Your licence is not allowed to cover this functionnality", "details": "{WRONG LICENSE}", "error": "unauthorized_client"} |
API testen
Klicken Sie auf die Schaltfläche unten, um diesen Endpunkt live in Ihrem Browser zu testen.
Konsole öffnen
Siehe auch
Verknüpfung mit