diff --git a/panel/public/assets/js/user.js b/panel/public/assets/js/user.js
index 21ba508..a507ba4 100644
--- a/panel/public/assets/js/user.js
+++ b/panel/public/assets/js/user.js
@@ -327,9 +327,21 @@ async function loadEmailList() {
}
window.loadEmailList = loadEmailList;
-window.addEmailAccount = () => {
+window.addEmailAccount = async () => {
+ const dr = await Nova.api('domains', 'list');
+ const domains = (dr?.data || []).map(d => d.domain).filter(Boolean);
+ const domainOpts = domains.length
+ ? domains.map(d => ``).join('')
+ : '';
Nova.modal('Add Email Account', `
-
+
`,
``
@@ -337,8 +349,12 @@ window.addEmailAccount = () => {
};
window.submitAddEmail = async () => {
+ const local = (document.getElementById('em-local')?.value || '').trim();
+ const domain = document.getElementById('em-domain')?.value || '';
+ if (!local) { Nova.toast('Enter a username', 'error'); return; }
+ if (!domain) { Nova.toast('Select a domain', 'error'); return; }
const res = await Nova.api('email', 'create', { method: 'POST', body: {
- email: document.getElementById('em-addr')?.value,
+ email: `${local}@${domain}`,
password: document.getElementById('em-pass')?.value,
quota_mb: parseInt(document.getElementById('em-quota')?.value || '0'),
}});