// Sauvegarde l'URL de Mailcatcher document.getElementById("save-url").addEventListener("click", () => { const url = document.getElementById("mailcatcher-url").value; if (url) { browser.storage.local.set({ mailcatcherUrl: url }); alert("URL enregistrée !"); } }); // Charge l'URL sauvegardée au démarrage browser.storage.local.get("mailcatcherUrl").then((data) => { if (data.mailcatcherUrl) { document.getElementById("mailcatcher-url").value = data.mailcatcherUrl; fetchEmails(data.mailcatcherUrl); } }); // Rafraîchit la liste des emails document.getElementById("refresh-emails").addEventListener("click", () => { browser.storage.local.get("mailcatcherUrl").then((data) => { if (data.mailcatcherUrl) { fetchEmails(data.mailcatcherUrl); } else { alert("Veuillez configurer l'URL de Mailcatcher."); } }); }); // Récupère les emails depuis Mailcatcher function fetchEmails(baseUrl) { const emailList = document.getElementById("email-list"); emailList.innerHTML = "

Chargement...

"; fetch(`${baseUrl}/messages`) .then((response) => response.json()) .then((emails) => { emailList.innerHTML = ""; if (emails.length === 0) { emailList.innerHTML = "

Aucun email trouvé.

"; return; } emails.forEach((email) => { const item = document.createElement("div"); item.className = "email-item"; item.innerHTML = ` ${email.sender} → ${email.recipients.join(", ")}
${new Date(email.sent_at).toLocaleString()} `; item.addEventListener("click", () => showEmailDetails(baseUrl, email.id), ); emailList.appendChild(item); }); }) .catch((error) => { emailList.innerHTML = `

Erreur : ${error.message}

`; }); } // Affiche les détails d'un email function showEmailDetails(baseUrl, emailId) { fetch(`${baseUrl}/messages/${emailId}.json`) .then((response) => response.json()) .then((email) => { alert( `De : ${email.sender}\nÀ : ${email.recipients}\nSujet : ${email.subject}\n\n${email.text_body || email.html_body}`, ); }) .catch((error) => { alert(`Erreur : ${error.message}`); }); }