Ana sayfaya dönDokümanlar

Dokümantasyon

Bir e-postayı imzalı HTTP isteği olarak almak için gereken her şey.

Adresiniz

Her hesap, inbox_ab12cd34ef@tempy.uk biçiminde kalıcı bir adres alır. Bu adres değiştirilemez ve webhook'unuza ulaşan tek adrestir. Herhangi bir sağlayıcıdan buraya posta yönlendirin ya da adresi doğrudan verin.

inbox_7wgaav5mdb@tempy.uk

Payload

E-posta başına tek bir HTTPS POST, application/json olarak gönderilir. Gövde; e-posta kimliğini, from, to ve subject alanlarını, metin ve HTML gövdelerini, özgün başlıkların tamamını ve ekler dizisini taşır. Bir kez geçen başlık metindir; tekrarlanan başlık ise iletideki sırasıyla bir metin dizisidir.

Payload
{
  "id": "em_wnrppxfrp5p9wvv1",
  "from": "you@gmail.com",
  "to": "inbox_7wgaav5mdb@tempy.uk",
  "subject": "Your verification code",
  "text": "Your code is 482913",
  "html": "<p>Your code is <b>482913</b></p>",
  "headers": {
    "message-id": "<…@mail.gmail.com>"
  },
  "attachments": [],
  "received_at": "2026-09-03T10:42:11Z"
}

İmzayı doğrulama

Her istek bir X-Mailhook-Signature başlığı taşır: sha256= ve ardından, imza anahtarınızla hesaplanan ham istek gövdesinin HMAC-SHA256'sı. Hesabı JSON ayrıştırmasından önce, aldığınız baytlar üzerinde yapın ve sabit zamanda karşılaştırın. Eşleşmeyen her isteği reddedin.

X-Mailhook-Signature: sha256=8f1c4e9a…

İmzayı doğrulaNode.jsPython

İmza anahtarını değiştirme

Değiştirme sürerken birincil imza hâlâ mevcut anahtarınızla hesaplanır, yeni anahtar ise X-Mailhook-Signature-Next başlığıyla gelir. X-Mailhook-Secret-Version, birincil başlığın arkasındaki sürümü belirtir. Yeni anahtarı yayına alın, sonra etkinleştirin — arada hiçbir şey bozulmaz.

X-Mailhook-SignatureX-Mailhook-Signature-NextX-Mailhook-Secret-Version

Yeniden denemeler ve zaman aşımı

Her 2xx teslim edilmiş sayılır. 5xx, 429 ya da ağ hatası; yaklaşık 30 saniye, 1 dakika, 2 dakika ve 4 dakika arayla, sapma payıyla birlikte beş kez yeniden denenir. 429 dışındaki 4xx kalıcıdır ve hiç yeniden denenmez. Endpoint'inizin yanıt vermek için 30 saniyesi vardır.

5×+30s+1m+2m+4m30s

Ekler

Dosyalar JSON'un içine gömülmez. Her ek; dosya adını, içerik türünü, boyutunu ve e-postanın geldiği andan itibaren 24 saat geçerli kalan imzalı bir URL'yi taşır. İhtiyacınız olanı bu süre içinde indirin — sonrasında dosya, içeriğin geri kalanıyla birlikte silinir.

filename · content_type · size · url · expires_at

Sınırlar

Bir ileti, ekleriyle birlikte en fazla 20 MB olabilir; daha büyüğü daha kapıda reddedilir, böylece gönderen üzerine işlem yapabileceği bir hata alır. Test istekleri ve elle yeniden denemeler hesap başına sınırlıdır; ayrıca her test isteği, ayırt edebilmeniz için X-Mailhook-Test: true başlığı taşır.

20 MB · X-Mailhook-Test: true

Idempotency

Yeniden deneme, aynı gövdeyi aynı e-posta kimliğiyle tekrar gönderir; bu kimliği yineleme anahtarınız olarak kullanın. Aynı kimliği taşıyan iki POST, iki e-posta değil aynı e-postadır.

X-Mailhook-Id: em_wnrppxfrp5p9wvv1