Skip to content
TheyanzXDPublic

About

Temp Mail app — Next.js

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

📬 Temp Mail — Instant Email

Aplikasi Temp Mail berbasis Next.js yang menyediakan alamat email sementara instan dengan UI modern glassmorphism. Mendukung 97 domain valid, generate username kustom/random, auto-polling inbox, dan ekstraksi otomatis OTP serta link verifikasi.

🚀 Fitur

  • Generate email instan — custom username atau random secara otomatis
  • 97 domain valid — diambil langsung dari API NexMail
  • 10 pilihan domain acak — dropdown + grid chip yang bisa di-refresh
  • Auto-polling inbox — cek pesan masuk setiap 4,5 detik tanpa refresh
  • Ekstraksi OTP & link verifikasi — ditampilkan secara mencolok di UI
  • UI glassmorphism responsif — nyaman di desktop maupun mobile
  • Copy email one-click — salin alamat email dengan satu klik
  • Bersihkan inbox — hapus daftar pesan visual kapan saja
  • Backend proxy NexMail — backend mencegat API NexMail agar frontend tetap aman

🛠️ Tech Stack

Komponen Teknologi
Frontend HTML5 + Vanilla JS + Inter font
Backend Next.js API Routes (serverless)
Deploy Vercel (auto-detect Next.js)
Mail Proxy NexMail API (https://nexmailid.vercel.app)

📁 Struktur Proyek

temp-mail/
├── lib/
│   └── domains.js          # 97 domain valid + helper functions
├── pages/
│   └── api/
│       ├── domains.js      # GET /api/domains
│       ├── generate.js     # GET /api/generate
│       ├── inbox.js        # GET /api/inbox (proxy NexMail)
│       └── docs.js         # GET /api/docs (API documentation)
├── public/
│   └── index.html          # UI utama (glassmorphism)
├── package.json
└── README.md

⚡ API Endpoints

GET /api/domains

Mengembalikan seluruh daftar 97 domain valid.

Response:

{
  "success": true,
  "count": 97,
  "domains": ["guerrillamail.com", "temp-mail.org", ...]
}

GET /api/generate

Membuat alamat email baru.

Query params:

  • username (opsional) — username kustom
  • domain (opsional) — domain dari pool, jika kosong/acak maka dipilih random

Response:

{
  "success": true,
  "email": "user_abc123@domain.com",
  "username": "user_abc123",
  "domain": "domain.com",
  "source": "nexmail",
  "generated_at": "2026-09-02T15:00:00.000Z"
}

GET /api/inbox

Mengambil inbox untuk email tertentu (proxy ke NexMail).

Query params:

  • email — alamat email lengkap

Response:

{
  "success": true,
  "total_messages": 2,
  "messages": [
    {
      "from": "sender@example.com",
      "subject": "Verifikasi Akun",
      "body": "Kode OTP Anda: 847291",
      "date": "2026-09-02 14:30"
    }
  ],
  "otp": "847291",
  "verification_link": "https://example.com/verify?token=abc"
}

GET /api/docs

Dokumentasi API lengkap.

Response:

{
  "name": "Temp Mail API",
  "version": "1.0.0",
  "base_url": "https://tempmail.yandez.my.id",
  "endpoints": [...]
}

🧪 Setup Lokal

  1. Clone repo

    git clone https://github.com/TheyanzXD/temp-mail.git
    cd temp-mail
  2. Install dependencies

    npm install
  3. Jalankan development server

    npm run dev
  4. Buka browser

    http://localhost:3000
    

🚢 Deploy ke Vercel

  1. Push repo ini ke GitHub (sudah dilakukan: TheyanzXD/temp-mail)
  2. Buka vercel.com/new
  3. Pilih repo TheyanzXD/temp-mail
  4. Klik Deploy
  5. Vercel otomatis mendeteksi Next.js dan build proyek
  6. Setelah deploy selesai, buka URL yang diberikan Vercel

Tidak perlu konfigurasi tambahan.

📖 Cara Penggunaan

  1. Generate email

    • Buka halaman → email otomatis ter-generate
    • Atau isi username + pilih domain dari dropdown/grid, lalu klik Generate
    • Klik Random untuk username acak
    • Klik Refresh domains untuk mengganti 10 pilihan domain
  2. Copy email

    • Klik ikon 📋 untuk menyalin alamat email ke clipboard
  3. Cek inbox

    • UI otomatis polling setiap 4,5 detik
    • Klik 🔄 untuk refresh manual
    • OTP dan link verifikasi muncul otomatis jika terdeteksi
  4. Bersihkan inbox

    • Klik tombol Bersihkan untuk menghapus semua pesan dari tampilan
  5. Lihat dokumentasi API

    • Klik API Docs untuk melihat dokumentasi lengkap

⚠️ Catatan Penting

  • Backend /api/inbox adalah proxy ke NexMail. Jika NexMail gagal, inbox tidak akan muncul.
  • Pool domain diambil dari API NexMail dan diperbarui secara periodik.
  • Auto-polling hanya aktif setelah email dibuat. Tutup halaman akan menghentikan polling.
  • OTP diekstraksi otomatis dari body email dengan regex \b\d{4,8}\b. Jika format berbeda, OTP mungkin tidak terdeteksi.
  • Default domain adalah guerrillamail.com jika tersedia.

🔄 Update Domain

Untuk memperbarui daftar domain, jalankan:

npm run update-domains

Script akan mengambil domain terbaru dari NexMail API dan memperbarui lib/domains.js.

🤝 Kontribusi

Pull request dan issue sangat diterima. Pastikan kode tetap konsisten dengan struktur yang ada.

📄 License

MIT — bebas dipakai dan dimodifikasi.

About

Temp Mail app — Next.js

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages