Geliştiriciler

Posta kutusu aldırmaz
onu kimin kullandığına.

Uygulamanın yaptığı her şeyi kodunuz da yapar: 68 yol üzerinde 104 belgelenmiş işlem, anahtarsız okuyabileceğiniz bir OpenAPI 3.1 belgesinin ardında. TypeScript istemcisi her derlemede bu belgeye uymak zorundadır.

Herhangi bir MCP istemcisine yapıştırın. Kendini kaydeder.
{ "mcpServers": {
    "openemail": {
      "url": "https://api.openemail.uk/mcp"
    } } }

MCP için yapıştırılacak bir anahtar gerekmez. İstemci, yetkilendirme sunucusunu uç noktadan bulur, kendini kaydeder ve oturum açmanız için sizi buraya yönlendirir.

104

belgelenmiş işlem

68

tek bir sunucu altında yol

116

SDK metodu, hepsini kapsıyor

20

webhook olayı, üç ailede

OpenAPI 3.1 belgesi GET /openapi.json adresinde ve okumak için anahtar gerekmez.

Yüzeyler

Üç kapı,
tek posta kutusu.

REST API

Bir çalışma alanı anahtarı, bir çağrının ne yapabileceğine ve hangi adreslerle gönderebileceğine karar verir. İptal etmek silmek değil güncellemektir, bu yüzden sonraki bir çağrıya anahtarın iptal edildiği söylenir.

/threads?query=invoice
/emails
emails:sendthreads:readwebhooks:write

Bir anahtar, en fazla 25 tam alan adı ve 50 tekil adres adına gönderim yapar. GET /ping, sahip olduğu kapsamları ve rolünün ona bıraktığı kapsamları geri okur.

MCP sunucusu

Bir istemciyi uç noktaya yönlendirin ve oturum açın. Yapıştırılacak bir anahtar yok, çünkü istemci kendini kaydeder ve sizi buraya yönlendirir.

listThreads
threads:reademails:sendlabels:write

Araçlar, çağıranın ne yapabildiğine göre oluşturulur; yani okumayla sınırlı bir istemcide gönderme aracı bulunmaz. Yine de bir belirteç posta kutusunun tamamına erişir.

Webhook'lar

Bir https uç noktası kaydedin, posta kutusu oraya gönderim yapsın. Teslimatlar bir API çağrısı tarafından değil posta kutusunun kendisi tarafından tetiklenir; bu yüzden uygulamada mesaj yazmak ile API'ye istek göndermek aynı teslimatı doğurur.

/webhooks
email.receivedemail.sentemail.failedemail.openeddomain.verifiedsuppression.added

Üç ailede 20 olay ve posta kutusu başına on uç nokta.

Eşitlik

İstemci geride kalamaz
API'den.

Eşitlik denetimi her derlemede OpenAPI belgesini okur ve sapma olduğunda başarısız olur: spesifikasyonda bulunmayan bir işleme işaret eden bir metot, metodu olmayan belgelenmiş bir işlem ya da işlemin gerektirdiğiyle uyuşmayan bir kapsam listesi. Neyi kanıtladığını yazdırır ve bugün bu, 104 belgelenmiş işlemin tamamını kapsayan 116 SDK metodu diyor.

Tek gönderim, üç yol

Yapılandırma, istek ve çağrı aynı işlemin üç farklı yazılışıdır.

MCPAPISDK
{ "mcpServers": {
"openemail": {
"url": "https://api.openemail.uk/mcp"
} } }
01 · 5 özellik, 1 tanesi daha yolda

Ajanlar, API ve MCP

OpenEmail'in insanlar kadar yazılımlar tarafından da kullanılması amaçlanmıştır. Posta kutusu her iki durumda da aynıdır.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

MCP sunucusu

Claude'u ya da herhangi bir MCP istemcisini posta kutunuza yönlendirin.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

Üçüncü taraf istemciler için OAuth

Yakında

PKCE ile kendi kendine istemci kaydı; böylece bir uygulama erişimi düzgünce isteyebilir.

Onay ve iptal burada; kapsam değil, bu yüzden bir belirteç uygulamanın istediği bölüme değil tüm posta kutunuza erişir.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

REST API

Üretilebilir, kapsamlandırılabilir ve iptal edilebilir anahtarlara sahip, belgelenmiş bir HTTP API'si.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

Tipli SDK'lar

Önce bir TypeScript istemcisi, sonra gerisi.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

Webhook'lar

Sizi sorgu yapmaya zorlamak yerine, posta geldiğinde uç noktanıza haber verir.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

Hızlı başlangıç

Sıfırdan gönderilmiş bir mesaja.
Üç adım.

  1. 1

    Bir anahtar üretin

    Ayarlar, API anahtarları, sahibi olduğunuz bir posta kutusunda. Kapsamlarını seçin ve hangi kimlikle gönderebileceğini tüm alan adlarıyla ya da tek tek adreslerle daraltın. Gizli anahtar bir kez gösterilir, saklanan şey ise tek yönlü bir özettir.

    GET /ping, anahtardaki kapsamları ve rolünün ona bıraktığı kapsamları döndürür.
    export OPENEMAIL_API_KEY=oe_live_9f2c1a4b7e05d3862c1f0a44_kX7… curl https://api.openemail.uk/ping \  -H "Authorization: Bearer $OPENEMAIL_API_KEY"
  2. 2

    İstemciyi kurun

    Bağımlılığı olmayan, ESM ve CommonJS olarak yayınlanan, anahtarı OPENEMAIL_API_KEY'den okuyan bir TypeScript istemcisi. JSON'u kendiniz göndermeyi tercih ediyorsanız atlayın, çünkü her uç nokta düz HTTP.

    Node 18 ve üzeri, Workers, Deno, Bun ve tarayıcı.
    bun add @openemail/sdk
  3. 3

    Gönderin

    Yanıt id'yi taşır. GET /emails/{id} onu çözer, /events alıcı bazında izi tutar, /tracking ise açılmaları ve tıklamaları.

    Aynı Idempotency-Key ile yapılan bir yeniden deneme, ilk sonucu Idempotency-Replayed: true ile döndürür.
    import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({  from: 'Acme Billing <[email protected]>',  to: '[email protected]',  subject: 'Your September invoice',  html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)

Eksik

Sizin için henüz
yapmayacakları.

Bunun üzerine geliştirmeye başladıktan sonra değil, başlamadan önce bilinmeye değer beş şey.

Yükleme uç noktası yok
Satır içi ekler, toplam 5 MB sınırı altında base64 olarak gider. Daha büyük bir dosya, çalışma alanında zaten bulunan bir dosyanın id'si verilerek gönderilir ve indirme bağlantısı olarak iletilir.
Geri dönenler posta kutusunda kalır
Teslimat raporu ayrıştırılır, Message-ID ile eşleştirilir, konuşmada etiketlenir ve email.bounced webhook'u olarak iletilir. Hiçbir şey gönderim satırına geri yazmaz, dolayısıyla GET /emails üzerinden geri dönen bir mesaj hâlâ gönderilmiş görünür.
Yazma penceresi postaları GET /emails içinde değil
Uygulamadaki yazma penceresinden gönderilen posta bu listede görünmez, çünkü yazma penceresi aynı gönderim yolundan yazmaz.
OAuth'ta onay var, kapsam yok
Bir istek, onaylanmadan önce gösterilir ve Bağlı uygulamalar onu geri alır, ancak bir belirteç, uygulamanın istediği bölüme değil posta kutunuzun tamamına erişir.
Sürüm iş akışı yok
İstemciyi yayınlamak; ön kontrolün, derlemenin ve bun publish'in elle çalıştırılmasıdır; dolayısıyla bir sürüm npm'e, değişiklik girdiğinde değil birisi bunu çalıştırdığında ulaşır.

Bir teslimatı doğrulamak

Her teslimat imzalıdır,
ve her yeniden deneme kendi id'sini taşır.

İmza; zaman damgası, bir nokta ve ham gövde üzerinde hesaplanan bir HMAC-SHA-256'dır. Baytları geldikleri hâliyle doğrulayın, çünkü ayrıştırıp yeniden serileştirmek anahtarların sırasını değiştirir ve imzayı bozar.

Her teslimattaki başlıklar
X-OpenEmail-Signature: t=1758240000,v1=9f0c4b2e7d1a86c3X-OpenEmail-Event: email.deliveredX-OpenEmail-Delivery: evt_4b7e05d3862c1f0a
Tekrar penceresi
300 saniye ve bunu uygulamak alıcının işi. SDK'daki doğrulayıcı varsayılan olarak bunu kullanır.
Idempotency-Key
Anahtar ile API anahtarınızın birlikte oluşturduğu benzersiz bir indekse karşı alınır; böylece zaman aşımından sonraki bir yeniden deneme, iki kez göndermek yerine ilk sonucu Idempotency-Replayed: true ile döndürür.
Yeniden denemeler
Beş deneme: olay gerçekleştiğinde, ardından 1 dakika, 5 dakika, 25 dakika ve 2 saat sonra. Yalnızca zaman aşımı, reddedilen bağlantı, 408, 425, 429 veya bir 5xx tekrarlanır.
X-OpenEmail-Delivery
Olay id'si bir kez üretilir ve her deneme onu taşır; böylece aynı id'yi iki kez gören bir alıcı, ikincisine yeniden işlem yapmak yerine onu atabilir.

Kimler için

Tek bir posta kutusu.
Üç giriş yolu.

Bireyler

openemail.uk üzerinde ücretsiz bir adres, arkasında istemci.

acme.comacme.devstudio.acme.com
hello@acme.comteslim edildi
billing@acme.comteslim edildi
oct-2026-signup@acme.comteslim edildi
anything-at-all@acme.comteslim edildi
İşletmeler

Herkes için adresler; üyeler asla koltuk sayılmaz.

[email protected]paylaşılan
SSarahAAliJJamieNNadia
Koltuk eklenmedi. Fatura kıpırdamıyor.
Geliştiriciler

Aynı posta kutusu; API, SDK ve MCP üzerinden.

/threads?query=invoice
{ "threads": 12 }
İster bir kişi ister bir program tutuyor olsun, aynı posta kutusu.

Bir anahtar üretin.
Bir şey gönderin.

Full API, MCP and SDK access her planda var. Free beraberinde 50 AI actions a day getirir.

Gelen kutunuz,
kendi kurallarınızla.

İşletmeler, yapay zekâ, ajanlar ve kişisel e-posta için e-posta altyapısı. Ölçek, gizlilik ve denetim için kuruldu. E-postanın ilk günden sahip olması gereken her şey.

OpenEmail

İşletmeler, yapay zekâ, ajanlar ve kişisel e-posta için e-posta altyapısı. Ölçek, gizlilik ve denetim için kuruldu. E-postanın ilk günden sahip olması gereken her şey.

© 2026 OpenEmail. Tüm hakları saklıdır.
Durum