
# E-posta sağlayıcısını test edin

`POST /v1/email-provider:test` · izin `email-provider:write` · tüm planlar

Saklanan bağlantıyı bir ileti göndermeden kontrol eder:

- `customer_smtp`: sunucunuza bağlanır, TLS kurar, kimlik doğrulaması yapar ve bağlantıyı kapatır.
- `customer_api`: saklanan anahtarla sağlayıcınızın salt okunur bir uç noktasını çağırır.

Kontrol başarısız olsa bile yanıt `200 OK` olur: `result` alanı `ok` ya da sabit bir hata kodudur. Sunucunun kendi yanıt metni hiçbir zaman döndürülmez. Sonuç, [get](get.md) uç noktasındaki `last_test_at` ve `last_test_result` alanlarında saklanır; `ETag` değişmez. Her test bir denetim kaydı yazar (`email_provider.tested`).

Bir ortam saatte 10 test çalıştırabilir. Gövde isteğe bağlıdır; gönderirseniz boş bir JSON nesnesi olmalıdır.

## Yanıt

| Alan | Tür | Açıklama |
|---|---|---|
| `result` | string | `ok` veya bir hata kodu (aşağıya bakın). |
| `tested_at` | string | Testin zamanı. |
| `version` | integer | Test edilen yapılandırma sürümü. |

```json
{
  "result": "smtp_auth_failed",
  "tested_at": "2026-10-19T09:30:00Z",
  "version": 4
}
```

Yaygın sonuçlar:

| Sonuç | Anlamı |
|---|---|
| `ok` | Bağlanıldı ve kimlik doğrulandı. |
| `smtp_auth_failed` | SMTP sunucusu kullanıcı adını ya da parolayı reddetti. |
| `smtp_auth_unsupported` | Sunucu desteklenen bir AUTH mekanizması sunmuyor. |
| `smtp_tls_required` | 587 numaralı bağlantı noktasındaki sunucu STARTTLS sunmuyor. |
| `smtp_tls_invalid` | Sunucu sertifikası ana makine adı için geçerli değil. |
| `smtp_temporary`, `smtp_rejected` | Sunucu geçici ya da kalıcı bir hatayla yanıt verdi. |
| `esp_auth_failed` | Sağlayıcı anahtarı reddetti. |
| `esp_access_denied` | Sağlayıcı anahtarı reddetti ya da anahtarın kontrol edilen uç noktaya okuma erişimi yok (örneğin `ses:GetAccount` ya da bir Mailgun alan adı gönderme anahtarı). Gönderim yine de çalışabilir. |
| `esp_rate_limited`, `esp_temporary`, `esp_rejected` | Sağlayıcı istek sınırına ulaştı, geçici olarak kullanılamıyor ya da isteği reddetti. |
| `egress_dns_failed`, `egress_dns_private`, `egress_ssrf_blocked`, `egress_connect_failed`, `egress_timeout`, `egress_tls_invalid` | Ana makine çözümlenmiyor, özel bir adrese çözümleniyor, engelleniyor, zamanında ulaşılamadı ya da (API sağlayıcılarında) geçersiz bir sertifika sundu. |
| `delivery_credentials_invalid` | Saklanan kimlik bilgisi kullanılamıyor; yeniden kaydedin. |
| `delivery_mode_unavailable` | Giden iletim bu dağıtımda etkin değil. |

## Hatalar

| HTTP | kod | Ne zaman |
|---|---|---|
| 400 | `unknown_field` | Gövde boş bir JSON nesnesi değil. |
| 409 | `conflict` | Mod test edilecek bir bağlantı içermiyor (`platform_default`, `customer_webhook`, `platform_managed_domain`; bir webhook uç noktasını [Bir webhook uç noktasını test edin](../webhook-endpoints/test.md) ile, bir gönderen alan adını [verify](../email-sender-domains/verify.md) ile kontrol edin) ya da yapılandırma test sırasında değişti. |
| 429 | `rate_limited` | Saatlik test sınırına ya da API istek sınırına ulaşıldı; `Retry-After` süresinden sonra yeniden deneyin. |
| 401 | `unauthenticated` | Kimlik bilgisi eksik, geçersiz ya da iptal edilmiş. |
| 403 | `insufficient_permissions` | Kimlik bilgisinin gerekli izni yok. |
| 503 | `service_unavailable` | Bir bağımlılık geçici olarak kullanılamıyor; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

```bash
curl -X POST https://api.eu.keenauth.com/v1/email-provider:test \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth email-provider test`
