| Filename | Latest commit message | Latest commit date |
|---|---|---|
| examples | ||
| .gitignore | ||
| API.md | ||
| README.md | ||
SkyTempMail
Dokumentasi pemakaian layanan temporary email internal Skydash.
SkyTempMail menyediakan alamat email sementara yang dapat dibuat dari API, menerima email inbound, lalu membaca pesan melalui API berbasis cookie. Integrasi yang paling aman dan stabil adalah dari backend project yang membutuhkan inbox, bukan dari browser secara langsung.
Endpoint utama
Dashboard : https://mail.skydash.eu.cc
API : https://mail.skydash.eu.cc/api
Alamat email yang paling direkomendasikan untuk contoh dan testing:
nama@skydash.eu.cc
Daftar domain dapat berubah. Selalu baca GET /api/config sebelum membuat inbox dan gunakan domain yang dikembalikan oleh endpoint tersebut.
Alur integrasi
- Panggil
GET /api/sessiondan simpan cookieskytempmail_sessiondi cookie jar. - Panggil
POST /api/inboxesuntuk membuat alamat baru. - Simpan alamat email beserta cookie jar untuk proses berikutnya.
- Poll
GET /api/inboxes/{address}/messagessampai pesan masuk. - Setelah selesai, opsional panggil
DELETE /api/inboxes/{address}untuk melepas alamat dari daftar session.
Cookie tersebut adalah kredensial bearer anonim untuk daftar inbox. Jangan log, membagikan, atau menyimpan cookie di repository.
Quick start dengan curl
BASE_URL="https://mail.skydash.eu.cc"
# 1. Mulai session dan simpan cookie
curl -fsS -c cookies.txt "$BASE_URL/api/session"
# 2. Lihat domain yang aktif
curl -fsS "$BASE_URL/api/config"
# 3. Buat alamat custom
curl -fsS -b cookies.txt -X POST "$BASE_URL/api/inboxes" \
-H 'Content-Type: application/json' \
-d '{"localPart":"uji-aplikasi","domain":"skydash.eu.cc"}'
# 4. Lihat semua alamat pada session ini
curl -fsS -b cookies.txt "$BASE_URL/api/inboxes"
# 5. Baca email (alamat harus URL-encoded)
curl -fsS -b cookies.txt \
"$BASE_URL/api/inboxes/uji-aplikasi%40skydash.eu.cc/messages"
Untuk alamat random, hilangkan localPart:
curl -fsS -b cookies.txt -X POST "$BASE_URL/api/inboxes" \
-H 'Content-Type: application/json' \
-d '{"domain":"skydash.eu.cc"}'
Contoh backend
- Node.js —
fetch, cookie jar sederhana, membuat inbox, dan polling pesan. - Python —
requests.Session, membuat inbox, dan menunggu pesan baru.
Contoh tersebut sengaja tidak memakai API key. SkyTempMail saat ini menggunakan cookie session anonim sehingga project harus menjaga cookie jar miliknya sendiri.
Polling yang disarankan
Jangan request setiap beberapa milidetik. Gunakan interval 3–5 detik, beri timeout total, dan hentikan polling setelah pesan yang dicari ditemukan.
Contoh aturan praktis:
interval : 4 detik
timeout : 2 menit
stop : subject/sender/code sudah cocok
retry : backoff ringan jika API 5xx atau jaringan gagal
Respons pesan diurutkan dari yang terbaru. Field utama:
{
"id": "message-id",
"inbox_address": "uji-aplikasi@skydash.eu.cc",
"from_address": "sender@example.com",
"subject": "Verification code",
"body": "Your code is 123456",
"received_at": "2026-08-17 16:00:00"
}
body berisi text part hasil parsing; jika email hanya memiliki HTML part, nilainya dapat berupa HTML mentah. UI SkyTempMail menampilkan HTML melalui iframe sandbox dan tetap menyediakan sumber HTML. Project API sebaiknya memperlakukan body sebagai data tidak tepercaya dan tidak langsung memasukkannya ke innerHTML.
Kontrak endpoint
Dokumentasi lengkap request, response, status error, dan privacy model ada di API.md.
| Endpoint | Kegunaan | Session |
|---|---|---|
GET /api/config |
Membaca konfigurasi publik dan daftar domain | Tidak |
GET /api/session |
Membuat atau melanjutkan session cookie | Tidak |
GET /api/inboxes |
List alamat pada session aktif | Ya |
POST /api/inboxes |
Membuat alamat baru | Ya |
GET /api/inboxes/{address}/messages |
Membaca pesan inbox | Ya |
DELETE /api/inboxes/{address} |
Melepas alamat dari session | Ya |
Error umum
{"error":"Sesi browser tidak tersedia. Muat ulang halaman."}
| Status | Arti | Solusi |
|---|---|---|
400 |
Local part atau domain tidak valid | Baca mailDomains, lalu validasi ulang input |
401 |
Cookie session tidak ada atau tidak valid | Panggil /api/session dengan cookie jar yang sama |
403 |
Inbox bukan milik session tersebut | Gunakan cookie jar saat inbox dibuat |
404 |
Path API salah | Pastikan prefix /api dan URL-encode alamat |
5xx |
Gangguan sementara | Retry dengan backoff dan batas waktu |
Integrasi lintas domain
API tidak ditujukan untuk dipanggil langsung oleh JavaScript browser dari domain lain. Gunakan server-side request dari project yang membutuhkan temporary email. Dengan begitu cookie session tidak terekspos ke browser pengguna dan project dapat mengontrol timeout, retry, serta pembersihan inbox.
Jika suatu saat dibutuhkan akses browser lintas domain, origin yang diizinkan harus dibuat eksplisit di aplikasi dan cookie/CORS harus ditinjau ulang. Jangan membuka wildcard CORS untuk cookie bearer.
Batasan dan keamanan
- Inbox bersifat disposable dan dapat terlihat oleh siapa pun yang memegang cookie session.
- Jangan gunakan untuk password, recovery account, data pribadi, atau rahasia produksi.
- Jangan commit
cookies.txt, cookie header, atau isi email ke git. - Perlakukan isi email dan link di dalamnya sebagai untrusted input.
- Gunakan hanya untuk testing/integrasi yang memang diizinkan oleh layanan tujuan.
- Domain email harus tetap memiliki routing/catch-all Cloudflare yang aktif; perubahan DNS dapat membuat alamat baru tidak menerima email.
Operasional
Dokumentasi ini mendeskripsikan API publik SkyTempMail di mail.skydash.eu.cc. Source worker berada di CT102 pada /opt/tempik, sedangkan konfigurasi domain live dapat dicek lewat:
curl -fsS https://mail.skydash.eu.cc/api/config
Jika menambah domain, tambahkan domain di konfigurasi worker dan pastikan Cloudflare Email Routing/catch-all untuk domain tersebut menunjuk ke worker tempik sebelum domain dipakai project lain.
Copyright
Copyright by Skydash.NET.