const API_BASE = "https://mail.paxcia.net"; const GET_ALIAS_ENDPOINT = "/api/v1/get/alias"; const ADD_ALIAS_ENDPOINT = "/api/v1/add/alias"; document.getElementById("fetch").addEventListener("click", async () => { try { const response = await fetch(API_BASE + GET_ALIAS_ENDPOINT, { credentials: "include" // Ensures the request uses the user's Mailcow session }); if (!response.ok) throw new Error("Failed to fetch emails"); const aliases = await response.json(); if (aliases.length > 0) { const latestEmail = aliases[0].address; document.getElementById("email").value = latestEmail; } else { document.getElementById("email").value = "No temp email found"; } } catch (error) { console.error(error); alert("Error fetching email"); } }); document.getElementById("generate").addEventListener("click", async () => { const emailPrefix = "temp" + Date.now(); const domain = "paxcia.net"; const newEmail = `${emailPrefix}@${domain}`; const requestData = { address: newEmail, goto: "your_main@paxcia.net", // Redirect emails to your main inbox active: true }; try { const response = await fetch(API_BASE + ADD_ALIAS_ENDPOINT, { method: "POST", credentials: "include", // Uses session login headers: { "Content-Type": "application/json" }, body: JSON.stringify(requestData) }); if (!response.ok) throw new Error("Failed to generate email"); document.getElementById("email").value = newEmail; alert("New email created: " + newEmail); } catch (error) { console.error(error); alert("Error creating email"); } }); document.getElementById("copy").addEventListener("click", () => { const emailField = document.getElementById("email"); emailField.select(); document.execCommand("copy"); alert("Copied: " + emailField.value); });