secubox-openwrt/package/secubox/luci-app-mailinabox/htdocs/luci-static/resources/view/mailinabox/settings.js
CyberMind-FR fa5d573755 feat(multi): New LuCI apps, MetaBlogizer dual-runtime, service watchdog
- Add luci-app-lyrion: Music server dashboard
- Add luci-app-mailinabox: Email server management
- Add luci-app-nextcloud: Cloud storage dashboard
- Add luci-app-mitmproxy: Security proxy in security section
- Add luci-app-magicmirror2: Smart display dashboard
- Add secubox-app-metablogizer: CLI tool with uhttpd/nginx support
- Update luci-app-metablogizer: Runtime selection, QR codes, social share
- Update secubox-core v0.8.1: Service watchdog (auto-restart crashed services)
- Update haproxyctl: Hostname validation to prevent config errors
- Fix portal.js app discovery

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:23:53 +01:00

76 lines
2.0 KiB
JavaScript

'use strict';
'require view';
'require form';
'require uci';
return view.extend({
load: function() { return uci.load('mailinabox'); },
render: function() {
var m, s, o;
m = new form.Map('mailinabox', _('Mail Server Settings'),
_('Configure your mail server. IMPORTANT: Set hostname and domain before installing.'));
s = m.section(form.TypedSection, 'mailinabox', _('General Settings'));
s.anonymous = true;
s.addremove = false;
o = s.option(form.Flag, 'enabled', _('Enabled'));
o.default = '0';
o = s.option(form.Value, 'hostname', _('Mail Hostname'),
_('Full hostname for mail server (e.g., mail.example.com)'));
o.default = 'mail.example.com';
o = s.option(form.Value, 'domain', _('Domain'),
_('Primary email domain (e.g., example.com)'));
o.default = 'example.com';
o = s.option(form.Value, 'data_path', _('Data Path'));
o.default = '/srv/mailserver';
o = s.option(form.Value, 'timezone', _('Timezone'));
o.default = 'UTC';
s = m.section(form.TypedSection, 'mailinabox', _('Ports'));
s.anonymous = true;
o = s.option(form.Value, 'smtp_port', _('SMTP Port'));
o.datatype = 'port';
o.default = '25';
o = s.option(form.Value, 'submission_port', _('Submission Port'));
o.datatype = 'port';
o.default = '587';
o = s.option(form.Value, 'imap_port', _('IMAP Port'));
o.datatype = 'port';
o.default = '143';
o = s.option(form.Value, 'imaps_port', _('IMAPS Port'));
o.datatype = 'port';
o.default = '993';
s = m.section(form.TypedSection, 'mailinabox', _('Features'));
s.anonymous = true;
o = s.option(form.Flag, 'enable_spamassassin', _('SpamAssassin'));
o.default = '1';
o = s.option(form.Flag, 'enable_clamav', _('ClamAV Antivirus'));
o.default = '0';
o = s.option(form.Flag, 'enable_fail2ban', _('Fail2ban'));
o.default = '1';
o = s.option(form.ListValue, 'ssl_type', _('SSL Type'));
o.value('letsencrypt', _("Let's Encrypt"));
o.value('manual', _('Manual'));
o.value('self-signed', _('Self-signed'));
o.default = 'letsencrypt';
return m.render();
}
});