FarelDeveloper/fmailtemp
0
1<!DOCTYPE html>2<html lang="id">3<head>4<meta charset="UTF-8">5<title>Temp Email Farel</title>6<style>7body{background:#020617;color:#fff;font-family:sans-serif}8.box{max-width:500px;margin:40px auto;background:#0f172a;padding:20px;border-radius:10px}9input,select,button{width:100%;padding:10px;margin:6px 0}10button{background:#38bdf8;border:0;cursor:pointer}11button:disabled{opacity:.6;cursor:not-allowed}12.msg{background:#020617;padding:8px;border-radius:5px;margin:5px 0}13</style>14</head>15<body>16 17<div class="box">18<h2>๐ง Temp Email Farel</h2>19 20<input id="name" placeholder="username">21<select id="domain"></select>22<button id="btn" onclick="createEmail()" disabled>Buat Email</button>23 24<b id="email"></b>25<div id="inbox"></div>26</div>27 28<script>29let currentEmail = null;30let timer = null;31let domainList = [];32 33// ๐ฅ LOAD DOMAIN + AUTO RANDOM34async function loadDomains(){35 const r = await fetch('/api/domains');36 const j = await r.json();37 38 domain.innerHTML = '';39 domainList = [];40 41 j.domains.forEach(d=>{42 const dom = typeof d === 'string' ? d : d.name;43 domainList.push(dom);44 domain.innerHTML += `<option value="${dom}">${dom}</option>`;45 });46 47 // auto pilih random48 const random = domainList[Math.floor(Math.random() * domainList.length)];49 domain.value = random;50 51 btn.disabled = false;52}53 54// ๐ฅ CREATE EMAIL (AMAN)55async function createEmail(){56 if (!name.value.trim())57 return alert('Username wajib diisi');58 59 if (!domain.value)60 return alert('Domain belum siap');61 62 const r = await fetch('/api/email/new',{63 method:'POST',64 headers:{'Content-Type':'application/json'},65 body:JSON.stringify({66 name: name.value.trim(),67 domain: domain.value68 })69 });70 71 const j = await r.json();72 if(!j.success) return alert(j.error);73 74 currentEmail = j.email;75 email.innerText = "๐ฌ " + j.email;76 77 if(timer) clearInterval(timer);78 timer = setInterval(loadInbox, 5000);79}80 81// ๐ฅ LOAD INBOX82async function loadInbox(){83 if(!currentEmail) return;84 85 const r = await fetch('/api/email/' + currentEmail + '/messages');86 const j = await r.json();87 88 inbox.innerHTML = '';89 j.messages?.forEach(m=>{90 inbox.innerHTML += `91 <div class="msg">92 <b>${m.from}</b><br>93 ${m.subject}94 </div>`;95 });96}97 98loadDomains();99</script>100 101</body>102</html>