[! use strict; use Proxmox::Form; use Proxmox::Utils; use Proxmox::ConfigServer; use Proxmox::Config::System; !] [- $fdat{smarthost} = Proxmox::Utils::trim ($fdat{smarthost}); my $frm = Proxmox::Form->new (\%fdat); my $system_cfg = $fdat{__system_config}; $frm->add_cfg_element('mail', 'maxsize', "number", '10485760', __("Message Size (bytes)")); $frm->add_cfg_element('mail', 'rejectunknown', 'bool', undef, __("Reject Unknown Clients")); $frm->add_cfg_element('mail', 'rejectunknownsender', 'bool', undef, __("Reject Unknown Senders")); $frm->add_cfg_element('mail', 'helotests', 'bool', undef, __("SMTP HELO checks")); $frm->add_cfg_element('mail', 'use_rbl', "bool", undef, __("Use RBL checks")); $frm->add_cfg_element ('mail', 'verifyreceivers', 'dropdown', '', __("Verify Receivers"), [['', __('no')], ['450', __('yes') . ' (450)'], ['550', __('yes') . ' (550)']]); $frm->add_cfg_element('mail', 'greylist', 'bool', undef, __("Use Greylisting")); $frm->add_cfg_element('mail', 'spf', 'bool', undef, __("Use SPF")); $frm->add_cfg_element('mail', 'dwarning', 'number', '0', __("Delay Warning Time (hours)")); $frm->add_cfg_element('mail', 'conn_count_limit', 'number', '50', __("Client Connection Count Limit")); $frm->add_cfg_element('mail', 'conn_rate_limit', 'number', '0', __("Client Connection Rate Limit")); $frm->add_cfg_element('mail', 'message_rate_limit', 'number', '0', __("Client Message Rate Limit")); $frm->add_cfg_element('mail', 'banner', 'text', undef, "SMTPD Banner"); $frm->add_cfg_element('mail', 'smarthost', "text", '', __("Smarthost")); $frm->add_element("m3", "hidden"); if ($frm->submit==0) { $frm->load_cfg ($system_cfg); } else { if ($udat{AM} eq 'w') { if (my $err = Proxmox::Utils::validate_dnsname_or_ip (__("Smarthost"), $fdat{smarthost}, 0, 1)) { $udat{popup_error} = $err; } else { $frm->save_cfg ($system_cfg); my $conn = Proxmox::ConfigClient::connect (); $conn->rewrite_config_postfix (); $conn->service_cmd ('proxpolicy', 'reload'); $conn->service_cmd ('postfix', 'reload'); } } else { $udat{popup_error} = Proxmox::Utils::msg ('nowr'); } } print OUT $frm->out_form; -]