Tester le fournisseur d'e-mail
POST /v1/email-provider:test · autorisation email-provider:write · tous les forfaits
Vérifie la connexion enregistrée sans envoyer de message :
customer_smtp: se connecte à votre serveur, met en place TLS, s'authentifie puis se déconnecte.customer_api: appelle un point de terminaison en lecture seule de votre fournisseur avec la clé enregistrée.
La réponse est 200 OK même lorsque la vérification échoue : result vaut ok ou un code d'erreur fixe. Le texte de réponse du serveur n'est jamais renvoyé. Le résultat est enregistré dans last_test_at et last_test_result de get ; l'ETag ne change pas. Chaque test écrit un enregistrement d'audit (email_provider.tested).
Un environnement peut effectuer 10 tests par heure. Le corps est facultatif ; si vous en envoyez un, il doit être un objet JSON vide.
Réponse
| Champ | Type | Description |
|---|---|---|
result |
string | ok ou un code d'erreur (ci-dessous). |
tested_at |
string | Date et heure du test. |
version |
integer | La version de configuration qui a été testée. |
{
"result": "smtp_auth_failed",
"tested_at": "2026-10-19T09:30:00Z",
"version": 4
}
Résultats courants :
| Résultat | Signification |
|---|---|
ok |
Connecté et authentifié. |
smtp_auth_failed |
Le serveur SMTP a refusé le nom d'utilisateur ou le mot de passe. |
smtp_auth_unsupported |
Le serveur ne propose aucun mécanisme AUTH pris en charge. |
smtp_tls_required |
Le serveur sur le port 587 ne propose pas STARTTLS. |
smtp_tls_invalid |
Le certificat du serveur n'est pas valide pour le nom d'hôte. |
smtp_temporary, smtp_rejected |
Le serveur a répondu par une erreur temporaire ou permanente. |
esp_auth_failed |
Le fournisseur a refusé la clé. |
esp_access_denied |
Le fournisseur a refusé la clé, ou la clé ne dispose pas de l'accès en lecture au point de terminaison vérifié (par exemple ses:GetAccount, ou une clé d'envoi de domaine Mailgun). L'envoi peut tout de même fonctionner. |
esp_rate_limited, esp_temporary, esp_rejected |
Le fournisseur a limité le débit, est temporairement indisponible ou a refusé la requête. |
egress_dns_failed, egress_dns_private, egress_ssrf_blocked, egress_connect_failed, egress_timeout, egress_tls_invalid |
L'hôte ne se résout pas, se résout vers une adresse privée, est bloqué, n'a pas pu être joint dans le délai imparti, ou (fournisseurs API) a présenté un certificat invalide. |
delivery_credentials_invalid |
L'identifiant enregistré ne peut pas être utilisé ; enregistrez-le de nouveau. |
delivery_mode_unavailable |
L'envoi sortant n'est pas activé dans ce déploiement. |
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 400 | unknown_field |
Le corps n'est pas un objet JSON vide. |
| 409 | conflict |
Le mode n'a aucune connexion à tester (platform_default, customer_webhook, platform_managed_domain ; testez un point de terminaison webhook avec Tester un point de terminaison webhook ; vérifiez un domaine d'expédition avec verify), ou la configuration a changé pendant le test. |
| 429 | rate_limited |
La limite horaire de tests ou la limite de débit de l'API a été atteinte ; réessayez après la durée indiquée par Retry-After. |
| 401 | unauthenticated |
L'identifiant est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant ne dispose pas de l'autorisation requise. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par Retry-After. |
Exemple
curl -X POST https://api.eu.keenauth.com/v1/email-provider:test \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI : keenauth email-provider test