]>
git.proxmox.com Git - pmg-gui.git/blob - js/MailProxyOptions.js
1 Ext
.define('PMG.MailProxyOptions', {
2 extend
: 'Proxmox.grid.ObjectGrid',
3 alias
: ['widget.pmgMailProxyOptions'],
7 initComponent: function() {
10 me
.add_integer_row('maxsize', gettext('Message Size (bytes)'),
12 defaultValue
: 1024*1024*10,
13 minValue
: 1024, deleteEmpty
: true,
16 me
.add_boolean_row('rejectunknown', gettext('Reject Unknown Clients'));
18 me
.add_boolean_row('rejectunknownsender', gettext('Reject Unknown Senders'));
20 me
.add_boolean_row('helotests', gettext('SMTP HELO checks'));
22 me
.add_text_row('dnsbl_sites', gettext('DNSBL Sites'),
23 { deleteEmpty
: true, defaultValue
: Proxmox
.Utils
.noneText
});
25 me
.add_integer_row('dnsbl_threshold', gettext('DNSBL Threshold'),
26 { deleteEmpty
: true, defaultValue
: 1, minValue
: 0 });
28 var render_verifyreceivers = function(value
) {
29 if (value
=== undefined || value
=== '__default__') {
30 return Proxmox
.Utils
.noText
;
32 return Proxmox
.Utils
.yesText
+ ' (' + value
+ ')';
35 me
.add_combobox_row('verifyreceivers', gettext('Verify Receivers'), {
36 renderer
: render_verifyreceivers
,
37 defaultValue
: '__default__',
40 ['__default__', render_verifyreceivers('__default__')],
41 ['450', render_verifyreceivers('450')],
42 ['550', render_verifyreceivers('550')]],
45 me
.add_boolean_row('greylist', gettext('Use Greylisting for IPv4'),
48 me
.add_integer_row('greylistmask4', gettext('Netmask for Greylisting IPv4'),
49 { defaultValue
: 24, minValue
: 0, maxValue
: 32 });
51 me
.add_boolean_row('greylist6', gettext('Use Greylisting for IPv6'),
54 me
.add_integer_row('greylistmask6', gettext('Netmask for Greylisting IPv6'),
55 { defaultValue
: 64, minValue
: 0, maxValue
: 128 });
57 me
.add_boolean_row('spf', gettext('Use SPF'), { defaultValue
: 1 });
59 me
.add_boolean_row('hide_received', gettext('Hide Internal Hosts'));
61 me
.add_integer_row('dwarning', gettext('Delay Warning Time (hours)'),
62 { defaultValue
: 4, minValue
: 0 });
64 me
.add_integer_row('conn_count_limit', gettext('Client Connection Count Limit'),
65 { defaultValue
: 50, minValue
: 0, maxValue
: 65535 });
67 me
.add_integer_row('conn_rate_limit', gettext('Client Connection Rate Limit'),
68 { defaultValue
: 0, minValue
: 0 });
70 me
.add_integer_row('message_rate_limit', gettext('Client Message Rate Limit'),
71 { defaultValue
: 0, minValue
: 0 });
73 me
.add_text_row('banner', gettext('SMTPD Banner'),
74 { deleteEmpty
: true, defaultValue
: 'ESMTP Proxmox' });
76 me
.add_boolean_row('ndr_on_block', gettext('Send NDR on Blocked E-Mails'));
77 // FIXME allow to pass onlineHelp to ObjectGrid's add_xyz_row..
78 // onlineHelp: 'pmgconfig_mailproxy_before_after_queue',
79 me
.rows
.ndr_on_block
.editor
.onlineHelp
= 'pmgconfig_mailproxy_before_after_queue';
81 me
.add_boolean_row('before_queue_filtering', gettext('Before Queue Filtering'));
83 var baseurl
= '/config/mail';
85 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
89 text
: gettext('Edit'),
90 xtype
: 'proxmoxButton',
92 handler: function() { me
.run_editor(); },
93 selModel
: me
.selModel
,
95 url
: '/api2/json' + baseurl
,
97 url
: '/api2/extjs' + baseurl
,
98 onlineHelp
: 'pmgconfig_mailproxy_options',
103 itemdblclick
: me
.run_editor
,
109 me
.on('activate', me
.rstore
.startUpdate
);
110 me
.on('destroy', me
.rstore
.stopUpdate
);
111 me
.on('deactivate', me
.rstore
.stopUpdate
);