
# E-posta sağlayıcısını al

`GET /v1/email-provider` · izin `email-provider:read` · tüm planlar

Ortamın e-postayı nasıl gönderdiğini döndürür: teslimat modu, gönderen adresi, kendi SMTP sunucunuz veya e-posta sağlayıcınız ve son bağlantı testi.

Kimlik bilgisi (SMTP parolası veya API anahtarı) hiçbir zaman döndürülmez; maskelenmiş olarak veya uzunluğu bile gösterilmez. `credentials_set` yalnızca bir kimlik bilgisinin saklanıp saklanmadığını belirtir.

Hiç yapılandırılmamış bir ortam, sürüm `0` ile `platform_default` döndürür. `ETag` üstbilgisi sürümü taşır; yapılandırmayı [değiştirdiğinizde](put.md) bunu `If-Match` olarak gönderin.

## Yanıt

`200 OK` ile yapılandırma döner ve `ETag` sürümüne ayarlanır.

| Alan | Tür | Açıklama |
|---|---|---|
| `mode` | string | `platform_default`, `platform_managed_domain`, `customer_smtp`, `customer_api` veya `customer_webhook`. |
| `sender_domain_id` | string veya null | `platform_managed_domain`: postanın gönderildiği [gönderen alan adı](../email-sender-domains/get.md) (`sdom_…`); diğer modlarda null. Güncel durumunu görmek için alan adını okuyun. |
| `webhook_endpoint_id` | string veya null | `customer_webhook`: işlenmiş iletileri alan [webhook uç noktası](../webhook-endpoints/get.md) (`whe_…`); diğer modlarda null. Hâlâ etkin olup olmadığını görmek için uç noktayı okuyun. |
| `from_address` | string veya null | Yalın gönderen adresi; `platform_default` modunda null. |
| `reply_to` | string veya null | Yalın yanıt adresi. |
| `provider` | string veya null | `customer_api` sağlayıcısı: `ses`, `sendgrid`, `postmark`, `mailgun` veya `brevo`. |
| `smtp_host` | string veya null | `customer_smtp` sunucu ana bilgisayar adı. |
| `smtp_port` | integer veya null | `customer_smtp` bağlantı noktası: `465` (örtük TLS) veya `587` (STARTTLS). |
| `smtp_username` | string veya null | `customer_smtp` AUTH kullanıcı adı. Gizli değildir. |
| `credentials_set` | boolean | Bir kimlik bilgisinin saklanıp saklanmadığı. |
| `last_test_at` | string veya null | Son [bağlantı testinin](test.md) zamanı; yapılandırma değiştiğinde temizlenir. |
| `last_test_result` | string veya null | Son testin sonucu: `ok` veya sabit hata kodu. |
| `version` | integer | Yapılandırma sürümü, `ETag` ile aynı; `0` hiç yapılandırılmadığı anlamına gelir. |
| `updated_at` | string veya null | Son değişikliğin zamanı. |

```json
{
  "mode": "customer_smtp",
  "sender_domain_id": null,
  "webhook_endpoint_id": null,
  "from_address": "no-reply@example.com",
  "reply_to": null,
  "provider": null,
  "smtp_host": "smtp.example.com",
  "smtp_port": 587,
  "smtp_username": "mailer",
  "credentials_set": true,
  "last_test_at": "2026-10-19T09:30:00Z",
  "last_test_result": "ok",
  "version": 4,
  "updated_at": "2026-10-19T09:00:00Z"
}
```

`platform_managed_domain` yapılandırması:

```json
{
  "mode": "platform_managed_domain",
  "sender_domain_id": "sdom_01k7xq3m5r8t9v0w1x2y3z4a5b",
  "webhook_endpoint_id": null,
  "from_address": "auth@mail.example.com",
  "reply_to": "support@example.com",
  "provider": null,
  "smtp_host": null,
  "smtp_port": null,
  "smtp_username": null,
  "credentials_set": false,
  "last_test_at": null,
  "last_test_result": null,
  "version": 5,
  "updated_at": "2026-10-19T10:00:00Z"
}
```

`customer_webhook` yapılandırması:

```json
{
  "mode": "customer_webhook",
  "sender_domain_id": null,
  "webhook_endpoint_id": "whe_01k7xq3m5r8t9v0w1x2y3z4a5b",
  "from_address": "auth@example.com",
  "reply_to": null,
  "provider": null,
  "smtp_host": null,
  "smtp_port": null,
  "smtp_username": null,
  "credentials_set": false,
  "last_test_at": null,
  "last_test_result": null,
  "version": 6,
  "updated_at": "2026-10-27T09:00:00Z"
}
```

## Hatalar

| HTTP | kod | Ne zaman |
|---|---|---|
| 401 | `unauthenticated` | Kimlik bilgisi eksik, geçersiz veya iptal edilmiş. |
| 403 | `insufficient_permissions` | Kimlik bilgisi gerekli izne sahip değil. |
| 429 | `rate_limited` | Hız sınırı aşıldı; `Retry-After` süresinden sonra yeniden deneyin. |
| 503 | `service_unavailable` | Bir bağımlılık geçici olarak kullanılamıyor; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

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

CLI: `keenauth email-provider get`
