inboxsink API
Kodla yönetilebilen tek kullanımlık kutular; kayıt akışlarını gerçek bir posta kutusuna bağımlı olmadan test edin. Beş rota, https://inboxsink.com tabanı, JSON.
Bir şeyi değiştiren rota wait: mesaj gelene kadar bloklar. O olmadan uçtan uca test sleep ile tahmin yürütür ve gönderim kuyruğu geciktiği anda kararsızlaşır.
Ayda bin çağrı, kartsız. Test paketinize bağlayıp tutup tutmadığını görmeye yeter.
Sonra, testleriniz reddedilmeye başlayınca: kendi alan adınız hiçbir yerde yayımlanmaz, bu yüzden hiçbir kara listeye düşmez — ayda 29 €.
JavaScript istemcisi
Hiçbir bağımlılığı olmayan bir paket, Node 18 ve üzeri için. Kod GitHub'da.
npm i inboxsink
import { InboxSink } from 'inboxsink'; const sink = new InboxSink(process.env.INBOXSINK_API_KEY); const inbox = await sink.createInbox(); const code = await sink.waitForOtp(inbox.id); // '204815'
Kod gelmediğinde waitForOtp null döndürmek yerine hata fırlatır: test sessizce boş alan doldurmak yerine yüksek sesle başarısız olmalı.
Kimlik doğrulama
Her çağrıda bir Authorization başlığı. Anahtarlar panelden oluşturulur ve ibsk_ ile başlar.
curl -H "Authorization: Bearer ibsk_…" \
https://inboxsink.com/v1/domains
Açık haldeki anahtar yalnızca oluşturma anında gösterilir. Sonrasında sadece ön eki görünür kalır — biz yalnızca özetini saklarız.
Kutu oluşturmak
Tüm parametreler isteğe bağlı: domain (varsayılan olarak havuzdan rastgele bir alan adı), prefix (varsayılan rastgele), ttl_seconds (60 saniyeden 30 güne).
curl -X POST https://inboxsink.com/v1/inboxes \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"ttl_seconds": 900}' → 201 { "id": "42", "address": "9f2c1a@mailhusk.com", "expires_at": "2026-09-01T15:12:00Z" }
API ile oluşturulan bir kutu özeldir: yalnızca onu oluşturan anahtar okuyabilir.
Mesaj beklemek
Bir mesaj gelene kadar bloklar, sonra hemen yanıtlar. timeout milisaniye cinsinden (varsayılan 30 000, en fazla 120 000), since yalnızca belirli bir kimlikten sonraki mesajları almak için.
Süre mesajsız dolarsa gövdesiz 204 döner — bu bir hata değil, «hiçbir şey gelmedi»nin normal yanıtıdır.
curl -H "Authorization: Bearer $KEY" \ "https://inboxsink.com/v1/inboxes/42/wait?timeout=45000" → 200 { "message": { "id": "913", "from": "no-reply@acme.com", "subject": "…", "otp": "204815", "link": "https://acme.com/confirm/9f3a" } }
otp ve link sizin için ayıklanır. Kod yalnızca mesaj gerçekten bir kod duyurduğunda bildirilir («kod», «doğrulama», «giriş»…) — fatura tutarı ya da yıl asla kodla karıştırılmaz.
Mesajları listelemek
since ve limit alır (varsayılan 50, en fazla 200). Mesaj gövdesi olmadan özet döndürür.
Bir mesajı okumak
Mesajın tamamı: text, html, headers ve ek listesi.
Kutuyu silmek
Kutuyu ve mesajlarını hemen siler. 204 döner.
Hatalar
| 204 | İçerik yok — wait için süre mesajsız doldu |
| 400 | Geçersiz parametre |
| 401 | Anahtar eksik, bilinmiyor veya iptal edilmiş |
| 403 | Bu kutu başka bir anahtara ait |
| 404 | Kutu veya mesaj yok ya da süresi dolmuş |
| 429 | Çok fazla çağrı |
Sınırlar ve ömür
Genel havuzdaki kutular bir saat yaşar; API ile oluşturulanlar kendi ttl_seconds değerine uyar, otuz güne kadar. Süre dolunca kutu ve mesajları silinir — sonradan alınacak bir arşiv yoktur.
On megabaytı aşan mesajlar alım sırasında reddedilir. Bilinmeyen bir alan adındaki adresler SMTP oturumu sırasında reddedilir, geri dönüş üretmeden.
Bu kutular posta gönderemez ve bu bilinçlidir: tek kullanımlık bir alan adından gönderilen mesaj hiçbir yere ulaşmazdı.