* Sun Jun 29 2025 Brian Read <brianr@koozali.org> 11.0.0-98.sme
- Re-factor email settings panel as error handling not working as expected. [SME: 12973]
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,6 +1,5 @@ | |||||||
|  |  | ||||||
| 'mai_FORM_TITLE' => 'E-mail settings', | 'mai_FORM_TITLE' => 'E-mail settings', | ||||||
| 'E-mail' => 'E-mail', | 'mai_E-Mail' => 'E-mail', | ||||||
| 'mai_SUCCESS' => 'The new e-mail settings have been saved.', | 'mai_SUCCESS' => 'The new e-mail settings have been saved.', | ||||||
| 'mai_NEVER' => 'not at all', | 'mai_NEVER' => 'not at all', | ||||||
| 'mai_EVERY5MIN' => 'Every 5 minutes', | 'mai_EVERY5MIN' => 'Every 5 minutes', | ||||||
| @@ -20,7 +19,7 @@ for dialup connections), or multi-drop (for dialup connections if | |||||||
| ETRN is not supported by your Internet provider). Note that | ETRN is not supported by your Internet provider). Note that | ||||||
| multi-drop mode is the only option available when the server is | multi-drop mode is the only option available when the server is | ||||||
| configured in private server and gateway mode.', | configured in private server and gateway mode.', | ||||||
| 'mai_LABEL_DELEGATE' => 'Address of internal mail server', | 'mai_LABEL_DELEGATE' => 'IP Address of internal mail server', | ||||||
| 'mai_TITLE_DELEGATE' => 'Delegate mail servers', | 'mai_TITLE_DELEGATE' => 'Delegate mail servers', | ||||||
| 'mai_DESC_DELEGATE' => 'Your server includes a complete, full-featured e-mail server. However, | 'mai_DESC_DELEGATE' => 'Your server includes a complete, full-featured e-mail server. However, | ||||||
| if for some reason you wish to delegate e-mail processing to | if for some reason you wish to delegate e-mail processing to | ||||||
| @@ -79,10 +78,9 @@ destination (recommended in most cases) or can deliver them via | |||||||
| your Internet provider\'s SMTP server (recommended if you have an | your Internet provider\'s SMTP server (recommended if you have an | ||||||
| unreliable Internet connection or are using a residential Internet | unreliable Internet connection or are using a residential Internet | ||||||
| service). If using your Internet provider\'s SMTP server, specify | service). If using your Internet provider\'s SMTP server, specify | ||||||
| its hostname or IP address below. Otherwise leave this field | its hostname or IP address below. Otherwise leave this field blank.', | ||||||
| blank.', | 'mai_INVALID_SMARTHOST' => 'The smarthost name you entered is not a valid internet domain name and is not blank', | ||||||
| 'mai_INVALID_SMARTHOST' => 'The smarthost name you entered is not a valid internet domain name | 'mai_INVALID_DELEGATE' => 'The delegate host name you entered is not a valid IP Address and is not blank', | ||||||
| and is not blank', |  | ||||||
| 'mai_DESC_POP_ACCESS_CONTROL' => 'You can control POP3 server access. The setting \'Allow access | 'mai_DESC_POP_ACCESS_CONTROL' => 'You can control POP3 server access. The setting \'Allow access | ||||||
| only from local networks\' allows POP3 access only from your | only from local networks\' allows POP3 access only from your | ||||||
| local network(s). The POP3S setting can be used to provide | local network(s). The POP3S setting can be used to provide | ||||||
| @@ -150,5 +148,9 @@ The value for this tag can be defined below.', | |||||||
| 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS' => 'SMTP Authentication for Internet provider', | 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS' => 'SMTP Authentication for Internet provider', | ||||||
| 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID' => 'Mail server user id', | 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID' => 'Mail server user id', | ||||||
| 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD' => 'Mail server password', | 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD' => 'Mail server password', | ||||||
| 'mai_VALIDATION_SMTPAUTH_NONBLANK' => 'This field cannot be left blank if SMTP Authentication is | 'mai_VALIDATION_SMTPAUTH_NONBLANK' => 'The user id and password fields cannot be left blank if SMTP Authentication is | ||||||
| enabled.', | enabled.', | ||||||
|  | 'mai_ACC_panel_action_was_successful' => 'Email access settings saved sucessfully', | ||||||
|  | 'mai_DEL_panel_action_was_successful' => 'Email delivery settings saved sucessfully', | ||||||
|  | 'mai_FIL_panel_action_was_successful' => 'Email filtering settings saved sucessfully', | ||||||
|  | 'mai_REC_panel_action_was_successful' => 'Email receive settings saved sucessfully', | ||||||
| @@ -0,0 +1,14 @@ | |||||||
|  | /* | ||||||
|  | Generated by: SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 | ||||||
|  | */ | ||||||
|  | .Emailsettings-panel {} | ||||||
|  | .name {} | ||||||
|  | .rout {} | ||||||
|  | .name {} | ||||||
|  | .rout {} | ||||||
|  | .name {} | ||||||
|  | .rout {} | ||||||
|  | .name {} | ||||||
|  | .rout {} | ||||||
|  | .name {} | ||||||
|  | .rout {} | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | // | ||||||
|  | //Generated by: SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 | ||||||
|  | // | ||||||
|  | $(document).ready(function() { | ||||||
|  | }); | ||||||
| @@ -1,57 +0,0 @@ | |||||||
| % layout 'default', title => "Sme server 2 - emailaccess"; |  | ||||||
|  |  | ||||||
| % content_for 'module' => begin |  | ||||||
| <div id='module' class='module emailaccess-panel'> |  | ||||||
|  |  | ||||||
|     % if (config->{debug} == 1) { |  | ||||||
| 	<p> |  | ||||||
| 	%= dumper $c->current_route |  | ||||||
| 	%= dumper $mai_datas |  | ||||||
| 	</p> |  | ||||||
|     % } |  | ||||||
|      |  | ||||||
|     % if ( stash 'error' ) { |  | ||||||
|     	<br><div class=sme-error> |  | ||||||
|     	%= $c->render_to_string(inline => stash 'error')  |  | ||||||
| 	</div> |  | ||||||
|     %} |  | ||||||
|  |  | ||||||
|     <h1><%= $title%></h1> |  | ||||||
|  |  | ||||||
|     %= form_for '/emailsettingd' => (method => 'POST') => begin |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_POP_ACCESS_CONTROL' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_POP_ACCESS_CONTROL' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'POPAccess' => $c->get_current_pop3_access() unless param 'POPAccess'; |  | ||||||
| 	%= select_field 'POPAccess' => $c->get_pop_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_IMAP_ACCESS_CONTROL' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_IMAP_ACCESS_CONTROL' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'IMAPAccess' => $c->get_current_imap_access() unless param 'IMAPAccess'; |  | ||||||
| 	%= select_field 'IMAPAccess' => $c->get_imap_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_WEBMAIL' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_WEBMAIL' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'WebMail' => $c->get_current_webmail_status() unless param 'WebMail'; |  | ||||||
| 	%= select_field 'WebMail' => $c->get_webmail_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
|     % 	my $btn = l('SAVE'); |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'ACC' |  | ||||||
|     % end     |  | ||||||
|  |  | ||||||
| </div> |  | ||||||
| %end |  | ||||||
| @@ -1,92 +0,0 @@ | |||||||
| % layout 'default', title => "Sme server 2 - emaildeliver"; |  | ||||||
|  |  | ||||||
| % content_for 'module' => begin |  | ||||||
| <div id='module' class='module emaildeliver-panel'> |  | ||||||
|  |  | ||||||
|     % if (config->{debug} == 1) { |  | ||||||
| 	<p> |  | ||||||
| 	%= dumper $c->current_route |  | ||||||
| 	%= dumper $mai_datas |  | ||||||
| 	</p> |  | ||||||
|     % } |  | ||||||
|      |  | ||||||
|     % if ( stash 'error' ) { |  | ||||||
|     	<br><div class=sme-error> |  | ||||||
|     	%= $c->render_to_string(inline => stash 'error')  |  | ||||||
| 	</div> |  | ||||||
|     %} |  | ||||||
|  |  | ||||||
|     <h1><%= $title%></h1> |  | ||||||
|  |  | ||||||
|     %= form_for '/emailsettingd' => (method => 'POST') => begin |  | ||||||
|  |  | ||||||
| 	<h2> |  | ||||||
| 	%=l 'mai_TITLE_UNKNOWN' |  | ||||||
| 	</h2> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_UNKNOWN' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_UNKNOWN' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'EmailUnknownUser' => $mai_datas->{emailunknownuser} unless param 'EmailUnknownUser'; |  | ||||||
| 	%= select_field 'EmailUnknownUser' => $c->get_emailunknownuser_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<!--<hr class='menubar' />--> |  | ||||||
| 	<h2> |  | ||||||
| 	%=l 'mai_TITLE_DELEGATE' |  | ||||||
| 	</h2> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_DELEGATE' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_DELEGATE' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'DelegateMailServer' => $mai_datas->{delegatemailserver} unless param 'DelegateMailServer'; |  | ||||||
| 	%= text_field 'DelegateMailServer', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<!--<hr class='sectionbar' />--> |  | ||||||
| 	<h2> |  | ||||||
| 	%=l 'mai_TITLE_SMARTHOST' |  | ||||||
| 	</h2> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_SMARTHOST' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SMARTHOST' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SMTPSmartHost' => $mai_datas->{smtpsmarthost} unless param 'SMTPSmartHost'; |  | ||||||
| 	%= text_field 'SMTPSmartHost', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SMTPAUTHPROXY_status' => $mai_datas->{smtpauthproxystatus} unless param 'SMTPAUTHPROXY_status'; |  | ||||||
| 	%= select_field 'SMTPAUTHPROXY_status' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SMTPAUTHPROXY_Userid' => $mai_datas->{smtpauthproxyuserid} unless param 'SMTPAUTHPROXY_Userid'; |  | ||||||
| 	%= text_field 'SMTPAUTHPROXY_Userid', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SMTPAUTHPROXY_Passwd' => $mai_datas->{smtpauthproxypassword} unless param 'SMTPAUTHPROXY_Passwd'; |  | ||||||
| 	%= password_field 'SMTPAUTHPROXY_Passwd', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
|     % 	my $btn = l('SAVE'); |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'DEL' |  | ||||||
|     % end     |  | ||||||
|  |  | ||||||
| </div> |  | ||||||
| %end |  | ||||||
| @@ -1,101 +0,0 @@ | |||||||
| % layout 'default', title => "Sme server 2 - emailfilter"; |  | ||||||
|  |  | ||||||
| % content_for 'module' => begin |  | ||||||
| <div id='module' class='module emailfilter-panel'> |  | ||||||
|  |  | ||||||
|     % if (config->{debug} == 1) { |  | ||||||
| 	<p> |  | ||||||
| 	%= dumper $c->current_route |  | ||||||
| 	%= dumper $mai_datas |  | ||||||
| 	</p> |  | ||||||
|     % } |  | ||||||
|  |  | ||||||
|     % if ( stash 'error' ) { |  | ||||||
|     	<br><div class=sme-error> |  | ||||||
|     	%= $c->render_to_string(inline => stash 'error')  |  | ||||||
| 	</div> |  | ||||||
|     %} |  | ||||||
|  |  | ||||||
|     <h1><%= $title%></h1> |  | ||||||
|  |  | ||||||
|     %= form_for '/emailsettingd' => (method => 'POST') => begin |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_VIRUS_SCAN' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_VIRUS_SCAN' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'VirusStatus' => $mai_datas->{virusstatus} unless param 'VirusStatus'; |  | ||||||
| 	%= select_field 'VirusStatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' |  | ||||||
| 	</span><br></p> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_SPAM_SCAN' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_SCAN' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'Spamstatus' => $mai_datas->{spamstatus} unless param 'Spamstatus'; |  | ||||||
| 	%= select_field 'Spamstatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_SENSITIVITY' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpamSensitivity' => $mai_datas->{spamsensitivity} unless param 'SpamSensitivity'; |  | ||||||
| 	%= select_field 'SpamSensitivity' => $c->get_spam_sensitivity_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_TAGLEVEL' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpamTagLevel' => $mai_datas->{spamtaglevel} unless param 'SpamTagLevel'; |  | ||||||
| 	%= select_field 'SpamTagLevel' => $c->get_spam_level_options(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_REJECTLEVEL' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpamRejectLevel' => $mai_datas->{spamrejectlevel} unless param 'SpamRejectLevel'; |  | ||||||
| 	%= select_field 'SpamRejectLevel' => $c->get_spam_level_options(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SORTSPAM' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpamSortSpam' => $mai_datas->{spamsortspam} unless param 'SpamSortSpam'; |  | ||||||
| 	%= select_field 'SpamSortSpam' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_SPAM_SUBJECT' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_SUBJECTTAG' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpamSubjectTag' => $mai_datas->{spamsubjecttag} unless param 'SpamSubjectTag'; |  | ||||||
| 	%= select_field 'SpamSubjectTag' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_SUBJECT' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpamSubject' => $mai_datas->{spamsubject} unless param 'SpamSubject'; |  | ||||||
| 	%= text_field 'SpamSubject' => class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_BLOCK_EXECUTABLE_CONTENT' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_CONTENT_TO_BLOCK' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'BlockExecutableContent' => $c->get_patterns_current_opt() unless param 'BlockExecutableContent'; |  | ||||||
| 	%= select_field 'BlockExecutableContent' => $c->get_patterns_opt(), class => 'input', multiple => "1" |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
|     % 	my $btn = l('SAVE'); |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'FIL' |  | ||||||
|     % end |  | ||||||
|  |  | ||||||
| </div> |  | ||||||
| %end |  | ||||||
| @@ -1,167 +0,0 @@ | |||||||
| % layout 'default', title => "Sme server 2 - emailreceive"; |  | ||||||
|  |  | ||||||
| % content_for 'module' => begin |  | ||||||
|  |  | ||||||
| % use constant FALSE => 0; |  | ||||||
| % use constant TRUE  => 1; |  | ||||||
|  |  | ||||||
| <div id='module' class='module emailreceive-panel'> |  | ||||||
|  |  | ||||||
|     % if (config->{debug} == 1) { |  | ||||||
| 	<p> |  | ||||||
| 	%= dumper $c->current_route |  | ||||||
| 	%= dumper $mai_datas |  | ||||||
| 	%= dumper $c->param('SMTPAuth') |  | ||||||
| 	</p> |  | ||||||
|     % } |  | ||||||
|  |  | ||||||
|     % if ( stash 'error' ) { |  | ||||||
|     	<br><div class=sme-error> |  | ||||||
|     	%= $c->render_to_string(inline => stash 'error')  |  | ||||||
| 	</div> |  | ||||||
|     %} |  | ||||||
|      |  | ||||||
|     <h1><%= $title%></h1> |  | ||||||
|  |  | ||||||
|     %= form_for '/emailsettingd' => (method => 'POST') => begin |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_MODE' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_MODE' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'FetchmailMethod' => $mai_datas->{fetchmailmethod} unless param 'FetchmailMethod'; |  | ||||||
| <!-- |  | ||||||
| 	<pre> |  | ||||||
| 		%= dumper $mai_datas->{fetchmailmethod} |  | ||||||
| 		%= dumper $c->get_retrieval_opt() |  | ||||||
| 		%= param 'FetchmailMethod' |  | ||||||
| 	</pre> |  | ||||||
| --> |  | ||||||
| 	%= select_field 'FetchmailMethod' => $c->get_retrieval_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%#=l 'mai_DESC_SMTP_AUTH_CONTROL' |  | ||||||
| 	<br /> |  | ||||||
| 	%= l "SMTP port (25) main purpose is to receive emails from another server, STARTTLS is always offered, but auth if offered is only if STARTTLS is also used by client." |  | ||||||
| 	<br /> |  | ||||||
| 	%= l "SMTPS port (465) will require implicit SSL/TLS then authenticate to send." |  | ||||||
| 	<br /> |  | ||||||
| 	%= l "SMTP Submission port (587) will require STARTTLS, then authenticate to send." |  | ||||||
| 	<br /> |  | ||||||
|  |  | ||||||
| 	% my $smtp_mesg=l('SMTP port %u allow client to authenticate:'); |  | ||||||
| 	<p><span class=label> |  | ||||||
| 		%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));  |  | ||||||
| 	</span><span class=input> |  | ||||||
|     	% param 'SMTPAuth' => $c->get_current_smtp_auth( FALSE ) unless param 'SMTPAuth'; |  | ||||||
| <!-- |  | ||||||
| 	<pre> |  | ||||||
| 		%= dumper $c->get_smtp_auth_opt() |  | ||||||
| 		%= dumper $c->get_current_smtp_auth(FALSE) |  | ||||||
| 		%= dumper $c->get_db_prop("qpsmtpd","Authentication") |  | ||||||
| 		%= param 'SMTPAuth' |  | ||||||
| 	</pre> |  | ||||||
| --> |  | ||||||
| 		%= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	% my $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:'); |  | ||||||
| 	<p><span class=label> |  | ||||||
| 		%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));  |  | ||||||
| 	</span><span class=input> |  | ||||||
| 		% param 'sSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) unless param 'sSMTPAuth'; |  | ||||||
| 	 |  | ||||||
| 		%= select_field 'sSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%my $smtp_mesg=l('Submission port %u status:'); |  | ||||||
| 	<p><span class=label> |  | ||||||
| 		%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));  |  | ||||||
| 	</span><span class=input> |  | ||||||
|     	% param 'uSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) unless param 'uSMTPAuth'; |  | ||||||
| <!-- |  | ||||||
| 	<pre> |  | ||||||
| 		%= dumper $c->get_smtp_ssl_auth_opt() |  | ||||||
| 		%= dumper $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) |  | ||||||
| 		%= dumper $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) |  | ||||||
| 		%= dumper $c->get_db_prop("uqpsmtpd","access") |  | ||||||
| 		%= param 'uSMTPAuth' |  | ||||||
| 	</pre> |  | ||||||
| --> |  | ||||||
| 	%= select_field 'uSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<!--<hr class="sectionbar" />--> |  | ||||||
| 	<h2> |  | ||||||
| 	%=l 'mai_TITLE_SECONDARY' |  | ||||||
| 	</h2> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_SECONDARY' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SECONDARY' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SecondaryMailServer' => $mai_datas->{secondarymailserver} unless param 'SecondaryMailServer'; |  | ||||||
| 	%= text_field 'SecondaryMailServer', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	%=l 'mai_DESC_FETCH_PERIOD' |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_FETCH_PERIOD' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'FreqOffice' => $mai_datas->{freqoffice} unless param 'FreqOffice'; |  | ||||||
| 	%= select_field 'FreqOffice' => $c->fetchmail_freq(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_FETCH_PERIOD_NIGHTS' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'FreqOutside' => $mai_datas->{freqoutside} unless param 'FreqOutside'; |  | ||||||
| 	%= select_field 'FreqOutside' => $c->fetchmail_freq(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_FETCH_PERIOD_WEEKENDS' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'FreqWeekend' => $mai_datas->{freqweekend} unless param 'FreqWeekend'; |  | ||||||
| 	%= select_field 'FreqWeekend' => $c->fetchmail_freq(), class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_POP_ACCOUNT' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SecondaryMailAccount' => $mai_datas->{secondarymailaccount} unless param 'SecondaryMailAccount'; |  | ||||||
| 	%= text_field 'SecondaryMailAccount', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_POP_PASS' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SecondaryMailPassword' => $mai_datas->{secondarymailpassword} unless param 'SecondaryMailPassword'; |  | ||||||
| 	%= password_field 'SecondaryMailPassword', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SORT_METHOD' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SpecifyHeader' => $mai_datas->{specifyheader} unless param 'SpecifyHeader'; |  | ||||||
| 	%= select_field 'SpecifyHeader' => [[(l 'mai_DEFAULT') => 'off'], [(l 'mai_SPECIFY_BELOW') => 'on']], class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SORT_HEADER' |  | ||||||
| 	</span><span class=input> |  | ||||||
| 	% param 'SecondaryMailEnvelope' => $mai_datas->{secondarymailenvelope} unless param 'SecondaryMailEnvelope'; |  | ||||||
| 	%= text_field 'SecondaryMailEnvelope', class => 'input' |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
|     % 	my $btn = l('SAVE'); |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'REC' |  | ||||||
|     % end     |  | ||||||
|  |  | ||||||
| </div> |  | ||||||
| %end |  | ||||||
| @@ -1,155 +1,72 @@ | |||||||
| % layout 'default', title => "Sme server 2 - emailsettings"; | %# | ||||||
|  | %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20  | ||||||
|  | %# | ||||||
|  | % layout 'default', title => "Sme server 2 - E-Mail", share_dir => './'; | ||||||
|  | %# css specific to this panel: | ||||||
| % content_for 'module' => begin | % content_for 'module' => begin | ||||||
|  | %= stylesheet '/css/emailsettings.css' | ||||||
|  | %= javascript '/js/emailsettings.js' | ||||||
|  |  | ||||||
| % use constant FALSE => 0; | % use constant FALSE => 0; | ||||||
| % use constant TRUE  => 1; | % use constant TRUE  => 1; | ||||||
|  |  | ||||||
| <div id='module' class='module emailsettings-panel'> | <div id="module" class="module Emailsettings-panel"> | ||||||
|  |  | ||||||
|     % if (config->{debug} == TRUE) { |     % if (config->{debug} == 1) { | ||||||
| 	<p> | 	<pre> | ||||||
| 		%= dumper $c->current_route | 		%= dumper $c->current_route | ||||||
| 	%= dumper $mai_datas | 		%= dumper $mai_data->{trt} | ||||||
| 	</p> | 	</pre> | ||||||
|     % } |  | ||||||
|  |  | ||||||
|     % if ( stash 'error' ) { |  | ||||||
|     	<br><div class=sme-error> |  | ||||||
|     	%= $c->render_to_string(inline => stash 'error')  |  | ||||||
| 	</div> |  | ||||||
|     % } |     % } | ||||||
|      |      | ||||||
|     <h1><%=$title%></h1> |     <h1><%=$title%></h1> | ||||||
|  |  | ||||||
|     %= form_for 'emailsettings' => (method => 'POST') => begin |     % if ( stash('modul')) { | ||||||
| 	<p><span class=label> | 	%= $c->render_to_string(inline => stash('modul') ); | ||||||
| 	%=l 'mai_LABEL_POP_ACCESS_CONTROL' |     % } | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_current_pop3_access( TRUE ) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |    	%if ($c->stash('first')) { | ||||||
| 	%=l 'mai_LABEL_IMAP_ACCESS_CONTROL' | 	    <br><p> | ||||||
| 	</span><span class=data2> | 		%=$c->render_to_string(inline =>$c->l($c->stash('first'))) | ||||||
| 	%= $c->get_current_imap_access( TRUE ) | 		</p> | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> | 	%} elsif ($c->stash('success')) { | ||||||
| 	%=l 'mai_LABEL_WEBMAIL' | 		<div class='success '> | ||||||
| 	</span><span class=data2> | 				%= $c->l($c->stash('success')); | ||||||
| 	%= $c->get_current_webmail_status( TRUE ) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
|     % 	my $btn = l('mai_DESC_STATE_ACCESS_BUTTON'); |  | ||||||
|     <div class='center'> |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
| 		</div> | 		</div> | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'ACC' |  | ||||||
|     % end    |  | ||||||
|     <br>  |  | ||||||
|  |  | ||||||
|     <!--<hr class="sectionbar" />--> |  | ||||||
|      |  | ||||||
|     %= form_for 'emailsettings' => (method => 'POST') => begin |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_VIRUS_SCAN' |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_virus_status(TRUE) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_SPAM_SCAN' |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_spam_status(TRUE) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_BLOCK_EXECUTABLE_CONTENT' |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_patterns_status(TRUE) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
|     % 	my $btn = l('mai_DESC_STATE_FILTERING_BUTTON'); |  | ||||||
|     <div class='center'> |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'FIL' |  | ||||||
|     % end   |  | ||||||
|     <br>   |  | ||||||
|  |  | ||||||
|     <!--<hr class="sectionbar" />--> |  | ||||||
|  |  | ||||||
|     %= form_for 'emailsettings' => (method => 'POST') => begin |  | ||||||
| 	<p><span class=label> |  | ||||||
| 	%=l 'mai_LABEL_MODE' |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $mai_datas->{fetchmailmethod} |  | ||||||
| 	</span></p> |  | ||||||
| 	 |  | ||||||
| 	% my $smtp_mesg; |  | ||||||
|  |  | ||||||
| 	% $smtp_mesg=l('SMTP port %u allow client to authenticate:'); |  | ||||||
| 	<p><span class=label> |  | ||||||
| 		%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));  |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_current_smtp_auth( TRUE ) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	% $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:'); |  | ||||||
| 	<p><span class=label> |  | ||||||
| 		%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));  |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_current_smtp_ssl_auth( TRUE, 's', FALSE ) |  | ||||||
| 	</span></p> |  | ||||||
|  |  | ||||||
| 	% $smtp_mesg=l 'Submission port %u status:'; |  | ||||||
| 	<p><span class=label> |  | ||||||
| 		%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));  |  | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_current_smtp_ssl_auth( TRUE,'u', FALSE ) |  | ||||||
| 	</span></p> |  | ||||||
| 		<br /> | 		<br /> | ||||||
|  |  | ||||||
|     % my $btn = l('mai_DESC_STATE_RECEPTION_BUTTON'); | 	%} elsif ($c->stash('error')) {  | ||||||
|     <div class='center'> | 	   <div class='sme-error'> | ||||||
| 	%= submit_button "$btn", class => 'action' | 				%= $c->l($c->stash('error')); | ||||||
|     	</div> |     	</div> | ||||||
|  | 		<br /> | ||||||
|  | 	%} | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'REC' | 	%#Routing to partials according to trt parameter. | ||||||
|     % end     | 	%#This ought to be cascading if/then/elsif, but is easier to just stack the if/then's rather like a case statement' | ||||||
|     <br> |  | ||||||
| 	 | 	 | ||||||
|     <!--<hr class="sectionbar" />--> | 	% if ($mai_data->{trt} eq "FRONT") { | ||||||
|  | 		%= include 'partials/_mai_FRONT' | ||||||
|  | 	%} | ||||||
| 	 | 	 | ||||||
|     %= form_for 'emailsettings' => (method => 'POST') => begin | 	% if ($mai_data->{trt} eq "ACC") { | ||||||
| 	<p><span class=label> | 		%= include 'partials/_mai_ACC' | ||||||
| 	%=l 'mai_LABEL_UNKNOWN' | 	%} | ||||||
| 	</span><span class=data2> |  | ||||||
| 	%= $c->get_emailunknownuser_status( TRUE ) |  | ||||||
| 	</span></p> |  | ||||||
| 	 | 	 | ||||||
| 	<p><span class=label> | 	% if ($mai_data->{trt} eq "FIL") { | ||||||
| 	%=l 'mai_LABEL_DELEGATE' | 		%= include 'partials/_mai_FIL' | ||||||
| 	</span><span class=data2> | 	%} | ||||||
| 	%= $c->get_value('DelegateMailServer') |  | ||||||
| 	</span></p> |  | ||||||
| 	 | 	 | ||||||
| 	<p><span class=label> | 	% if ($mai_data->{trt} eq "REC") { | ||||||
| 	%=l 'mai_LABEL_SMARTHOST' | 		%= include 'partials/_mai_REC' | ||||||
| 	</span><span class=data2> | 	%} | ||||||
| 	%= $c->get_value('SMTPSmartHost') | 	 | ||||||
| 	</span></p> | 	% if ($mai_data->{trt} eq "DEL") { | ||||||
|  | 		%= include 'partials/_mai_DEL' | ||||||
|  | 	%} | ||||||
| 	 | 	 | ||||||
|     % 	my $btn = l('mai_DESC_STATE_DELIVERY_BUTTON'); |  | ||||||
|     <div class='center'> |  | ||||||
| 	%= submit_button "$btn", class => 'action' |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
| 	%= hidden_field 'trt' => 'DEL' |  | ||||||
|     % end     |  | ||||||
|  |  | ||||||
| </div> | </div> | ||||||
| %end | %end | ||||||
| @@ -0,0 +1,54 @@ | |||||||
|  | %# | ||||||
|  | %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20  | ||||||
|  | %# | ||||||
|  | <div id="Emailsettings-ACC" class="partial Emailsettings-ACC"> | ||||||
|  | %#	<script> | ||||||
|  | %#		window.onload = function() { | ||||||
|  | %#		SelectInput(); | ||||||
|  | %#	}; | ||||||
|  | %#	</script> | ||||||
|  | 	% if (config->{debug} == 1) { | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $mai_data | ||||||
|  | 		</pre> | ||||||
|  | 	% } | ||||||
|  | 	% my $btn = l('SAVE'); | ||||||
|  | 	% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table | ||||||
|  |  | ||||||
|  | 	<h2><%= $c->l('mai_DESC_STATE_ACCESS_BUTTON') %></h2><br> | ||||||
|  | 	%= form_for "emailsettingsu" => (method => 'POST') => begin | ||||||
|  | 		% param 'trt' => $mai_data->{trt} unless param 'trt'; | ||||||
|  | 		%= hidden_field 'trt' => $mai_data->{trt} | ||||||
|  | 		%# Inputs etc in here. | ||||||
|  | 		%=l 'mai_DESC_POP_ACCESS_CONTROL' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_POP_ACCESS_CONTROL' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'POPAccess' => $c->get_current_pop3_access() unless param 'POPAccess'; | ||||||
|  | 		%= select_field 'POPAccess' => $c->get_pop_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_IMAP_ACCESS_CONTROL' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_IMAP_ACCESS_CONTROL' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'IMAPAccess' => $c->get_current_imap_access() unless param 'IMAPAccess'; | ||||||
|  | 		%= select_field 'IMAPAccess' => $c->get_imap_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_WEBMAIL' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_WEBMAIL' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'WebMail' => $c->get_current_webmail_status() unless param 'WebMail'; | ||||||
|  | 		%= select_field 'WebMail' => $c->get_webmail_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%# .... | ||||||
|  | 		%# Probably finally by a submit. | ||||||
|  | 		%= submit_button $btn, class => 'action' | ||||||
|  | 	%end     | ||||||
|  | </div> | ||||||
| @@ -0,0 +1,90 @@ | |||||||
|  | %# | ||||||
|  | %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20  | ||||||
|  | %# | ||||||
|  | <div id="Emailsettings-DEL" class="partial Emailsettings-DEL"> | ||||||
|  | %#	<script> | ||||||
|  | %#		window.onload = function() { | ||||||
|  | %#		SelectInput(); | ||||||
|  | %#	}; | ||||||
|  | %#	</script> | ||||||
|  | 	% if (config->{debug} == 1) { | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $mai_data | ||||||
|  | 		</pre> | ||||||
|  | 	% } | ||||||
|  | 	% my $btn = l('SAVE'); | ||||||
|  | 	% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table | ||||||
|  |  | ||||||
|  | 	<h2><%= $c->l('mai_DESC_STATE_DELIVERY_BUTTON') %></h2> | ||||||
|  | 	%= form_for "emailsettingsu" => (method => 'POST') => begin | ||||||
|  | 		% param 'trt' => $mai_data->{trt} unless param 'trt'; | ||||||
|  | 		%= hidden_field 'trt' => $mai_data->{trt} | ||||||
|  | 		%# Inputs etc in here. | ||||||
|  | 		<h2> | ||||||
|  | 		%=l 'mai_TITLE_UNKNOWN' | ||||||
|  | 		</h2> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_UNKNOWN' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_UNKNOWN' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'EmailUnknownUser' => $mai_data->{emailunknownuser} unless param 'EmailUnknownUser'; | ||||||
|  | 		%= select_field 'EmailUnknownUser' => $c->get_emailunknownuser_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<!--<hr class='menubar' />--> | ||||||
|  | 		<h2> | ||||||
|  | 		%=l 'mai_TITLE_DELEGATE' | ||||||
|  | 		</h2> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_DELEGATE' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_DELEGATE' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'DelegateMailServer' => $mai_data->{delegatemailserver} unless param 'DelegateMailServer'; | ||||||
|  | 		%= text_field 'DelegateMailServer', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<!--<hr class='sectionbar' />--> | ||||||
|  | 		<h2> | ||||||
|  | 		%=l 'mai_TITLE_SMARTHOST' | ||||||
|  | 		</h2> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_SMARTHOST' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SMARTHOST' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SMTPSmartHost' => $mai_data->{smtpsmarthost} unless param 'SMTPSmartHost'; | ||||||
|  | 		%= text_field 'SMTPSmartHost', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SMTPAUTHPROXY_status' => $mai_data->{smtpauthproxystatus} unless param 'SMTPAUTHPROXY_status'; | ||||||
|  | 		%= select_field 'SMTPAUTHPROXY_status' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SMTPAUTHPROXY_Userid' => $mai_data->{smtpauthproxyuserid} unless param 'SMTPAUTHPROXY_Userid'; | ||||||
|  | 		%= text_field 'SMTPAUTHPROXY_Userid', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SMTPAUTHPROXY_Passwd' => $mai_data->{smtpauthproxypassword} unless param 'SMTPAUTHPROXY_Passwd'; | ||||||
|  | 		%= password_field 'SMTPAUTHPROXY_Passwd', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 		%# .... | ||||||
|  | 		%# Probably finally by a submit. | ||||||
|  | 		%= submit_button $btn, class => 'action' | ||||||
|  | 	%end     | ||||||
|  | </div> | ||||||
| @@ -0,0 +1,98 @@ | |||||||
|  | %# | ||||||
|  | %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20  | ||||||
|  | %# | ||||||
|  | <div id="Emailsettings-FIL" class="partial Emailsettings-FIL"> | ||||||
|  | %#	<script> | ||||||
|  | %#		window.onload = function() { | ||||||
|  | %#		SelectInput(); | ||||||
|  | %#	}; | ||||||
|  | %#	</script> | ||||||
|  | 	% if (config->{debug} == 1) { | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $mai_data | ||||||
|  | 		</pre> | ||||||
|  | 	% } | ||||||
|  | 	% my $btn = l('SAVE'); | ||||||
|  | 	% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table | ||||||
|  |  | ||||||
|  | 	<h2><%= $c->l('mai_DESC_STATE_FILTERING_BUTTON') %></h2><br> | ||||||
|  | 	%= form_for "emailsettingsu" => (method => 'POST') => begin | ||||||
|  | 		% param 'trt' => $mai_data->{trt} unless param 'trt'; | ||||||
|  | 		%= hidden_field 'trt' => $mai_data->{trt} | ||||||
|  | 		%# Inputs etc in here. | ||||||
|  | 		%=l 'mai_DESC_VIRUS_SCAN' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_VIRUS_SCAN' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'VirusStatus' => $mai_data->{virusstatus} unless param 'VirusStatus'; | ||||||
|  | 		%= select_field 'VirusStatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' | ||||||
|  | 		</span><br></p> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_SPAM_SCAN' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_SCAN' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'Spamstatus' => $mai_data->{spamstatus} unless param 'Spamstatus'; | ||||||
|  | 		%= select_field 'Spamstatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_SENSITIVITY' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpamSensitivity' => $mai_data->{spamsensitivity} unless param 'SpamSensitivity'; | ||||||
|  | 		%= select_field 'SpamSensitivity' => $c->get_spam_sensitivity_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_TAGLEVEL' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpamTagLevel' => $mai_data->{spamtaglevel} unless param 'SpamTagLevel'; | ||||||
|  | 		%= select_field 'SpamTagLevel' => $c->get_spam_level_options(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_REJECTLEVEL' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpamRejectLevel' => $mai_data->{spamrejectlevel} unless param 'SpamRejectLevel'; | ||||||
|  | 		%= select_field 'SpamRejectLevel' => $c->get_spam_level_options(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SORTSPAM' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpamSortSpam' => $mai_data->{spamsortspam} unless param 'SpamSortSpam'; | ||||||
|  | 		%= select_field 'SpamSortSpam' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_SPAM_SUBJECT' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_SUBJECTTAG' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpamSubjectTag' => $mai_data->{spamsubjecttag} unless param 'SpamSubjectTag'; | ||||||
|  | 		%= select_field 'SpamSubjectTag' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_SUBJECT' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpamSubject' => $mai_data->{spamsubject} unless param 'SpamSubject'; | ||||||
|  | 		%= text_field 'SpamSubject' => class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_BLOCK_EXECUTABLE_CONTENT' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_CONTENT_TO_BLOCK' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'BlockExecutableContent' => $c->get_patterns_current_opt() unless param 'BlockExecutableContent'; | ||||||
|  | 		%= select_field 'BlockExecutableContent' => $c->get_patterns_opt(), class => 'input', multiple => "1" | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%# .... | ||||||
|  | 		%# Probably finally by a submit. | ||||||
|  | 		%= submit_button $btn, class => 'action' | ||||||
|  | 	%end     | ||||||
|  | </div> | ||||||
| @@ -0,0 +1,152 @@ | |||||||
|  | %# | ||||||
|  | %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20  | ||||||
|  | %# | ||||||
|  | <div id="Emailsettings-FRONT" class="partial Emailsettings-FRONT"> | ||||||
|  | %#	<script> | ||||||
|  | %#		window.onload = function() { | ||||||
|  | %#		SelectInput(); | ||||||
|  | %#	}; | ||||||
|  | %#	</script> | ||||||
|  | 	% if (config->{debug} == 1) { | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $mai_data | ||||||
|  | 			<br>  | ||||||
|  | 		</pre> | ||||||
|  | 	% } | ||||||
|  | 	% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table | ||||||
|  | 	% my $btn = l('Modify'); | ||||||
|  | 	<fieldset> | ||||||
|  | 		<legend><%= $c->l('mai_DESC_STATE_ACCESS_BUTTON') %></legend> | ||||||
|  | 		%= form_for 'emailsettings' => (method => 'POST') => begin | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_POP_ACCESS_CONTROL' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_current_pop3_access( TRUE ) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_IMAP_ACCESS_CONTROL' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_current_imap_access( TRUE ) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_WEBMAIL' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_current_webmail_status( TRUE ) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<br>  | ||||||
|  | 		<div class='center'> | ||||||
|  | 		%= submit_button "$btn", class => 'action' | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		%= hidden_field 'trt' => 'ACC' | ||||||
|  | 		% end    | ||||||
|  | 		</fieldset> | ||||||
|  | 		<br>  | ||||||
|  |  | ||||||
|  | 		 | ||||||
|  | 	<fieldset> | ||||||
|  | 		<legend><%= $c->l('mai_DESC_STATE_FILTERING_BUTTON') %></legend> | ||||||
|  | 		%= form_for 'emailsettings' => (method => 'POST') => begin | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_VIRUS_SCAN' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_virus_status(TRUE) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SPAM_SCAN' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_spam_status(TRUE) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_BLOCK_EXECUTABLE_CONTENT' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_patterns_status(TRUE) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<br>  | ||||||
|  | 		<div class='center'> | ||||||
|  | 		%= submit_button "$btn", class => 'action' | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		%= hidden_field 'trt' => 'FIL' | ||||||
|  | 		% end   | ||||||
|  | 	</fieldset> | ||||||
|  |     <br>   | ||||||
|  |  | ||||||
|  | 	<fieldset> | ||||||
|  | 		<legend><%= $c->l('mai_DESC_STATE_RECEPTION_BUTTON') %></legend> | ||||||
|  | 		%= form_for 'emailsettings' => (method => 'POST') => begin | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_MODE' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $mai_data->{fetchmailmethod} | ||||||
|  | 		</span></p> | ||||||
|  | 		 | ||||||
|  | 		% my $smtp_mesg; | ||||||
|  |  | ||||||
|  | 		% $smtp_mesg=l('SMTP port %u allow client to authenticate:'); | ||||||
|  | 		<p><span class=label> | ||||||
|  | 			%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));  | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_current_smtp_auth( TRUE ) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		% $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:'); | ||||||
|  | 		<p><span class=label> | ||||||
|  | 			%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));  | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_current_smtp_ssl_auth( TRUE, 's', FALSE ) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		% $smtp_mesg=l 'Submission port %u status:'; | ||||||
|  | 		<p><span class=label> | ||||||
|  | 			%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));  | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_current_smtp_ssl_auth( TRUE,'u', FALSE ) | ||||||
|  | 		</span></p> | ||||||
|  | 		<br /> | ||||||
|  |  | ||||||
|  | 		<div class='center'> | ||||||
|  | 		%= submit_button "$btn", class => 'action' | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		%= hidden_field 'trt' => 'REC' | ||||||
|  | 		% end     | ||||||
|  | 	</fieldset> | ||||||
|  |     <br> | ||||||
|  |  | ||||||
|  | 	<fieldset> | ||||||
|  | 		<legend><%= $c->l('mai_DESC_STATE_DELIVERY_BUTTON') %></legend> | ||||||
|  | 		%= form_for 'emailsettings' => (method => 'POST') => begin | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_UNKNOWN' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_emailunknownuser_status( TRUE ) | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_DELEGATE' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_value('DelegateMailServer') | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SMARTHOST' | ||||||
|  | 		</span><span class=data2> | ||||||
|  | 		%= $c->get_value('SMTPSmartHost') | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<br>  | ||||||
|  | 		<div class='center'> | ||||||
|  | 		%= submit_button "$btn", class => 'action' | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		%= hidden_field 'trt' => 'DEL' | ||||||
|  | 		% end     | ||||||
|  | 	</fieldset> | ||||||
|  | </div> | ||||||
| @@ -0,0 +1,159 @@ | |||||||
|  | %# | ||||||
|  | %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20  | ||||||
|  | %# | ||||||
|  | <div id="Emailsettings-REC" class="partial Emailsettings-REC"> | ||||||
|  | %#	<script> | ||||||
|  | %#		window.onload = function() { | ||||||
|  | %#		SelectInput(); | ||||||
|  | %#	}; | ||||||
|  | %#	</script> | ||||||
|  | 	% if (config->{debug} == 1) { | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $mai_data | ||||||
|  | 		</pre> | ||||||
|  | 	% } | ||||||
|  | 	% my $btn = l('SAVE'); | ||||||
|  | 	% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table | ||||||
|  |  | ||||||
|  | 	<h2><%= $c->l('mai_DESC_STATE_RECEPTION_BUTTON') %></h2><br> | ||||||
|  | 	%= form_for "emailsettingsu" => (method => 'POST') => begin | ||||||
|  | 		% param 'trt' => $mai_data->{trt} unless param 'trt'; | ||||||
|  | 		%= hidden_field 'trt' => $mai_data->{trt} | ||||||
|  | 		%# Inputs etc in here. | ||||||
|  | 		%=l 'mai_DESC_MODE' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_MODE' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'FetchmailMethod' => $mai_data->{fetchmailmethod} unless param 'FetchmailMethod'; | ||||||
|  | 	<!-- | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $mai_data->{fetchmailmethod} | ||||||
|  | 			%= dumper $c->get_retrieval_opt() | ||||||
|  | 			%= param 'FetchmailMethod' | ||||||
|  | 		</pre> | ||||||
|  | 	--> | ||||||
|  | 		%= select_field 'FetchmailMethod' => $c->get_retrieval_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%#=l 'mai_DESC_SMTP_AUTH_CONTROL' | ||||||
|  | 		<br /> | ||||||
|  | 		%= l "SMTP port (25) main purpose is to receive emails from another server, STARTTLS is always offered, but auth if offered is only if STARTTLS is also used by client." | ||||||
|  | 		<br /> | ||||||
|  | 		%= l "SMTPS port (465) will require implicit SSL/TLS then authenticate to send." | ||||||
|  | 		<br /> | ||||||
|  | 		%= l "SMTP Submission port (587) will require STARTTLS, then authenticate to send." | ||||||
|  | 		<br /> | ||||||
|  |  | ||||||
|  | 		% my $smtp_mesg=l('SMTP port %u allow client to authenticate:'); | ||||||
|  | 		<p><span class=label> | ||||||
|  | 			%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));  | ||||||
|  | 		</span><span class=input> | ||||||
|  | 			% param 'SMTPAuth' => $c->get_current_smtp_auth( FALSE ) unless param 'SMTPAuth'; | ||||||
|  | 	<!-- | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $c->get_smtp_auth_opt() | ||||||
|  | 			%= dumper $c->get_current_smtp_auth(FALSE) | ||||||
|  | 			%= dumper $c->get_db_prop("qpsmtpd","Authentication") | ||||||
|  | 			%= param 'SMTPAuth' | ||||||
|  | 		</pre> | ||||||
|  | 	--> | ||||||
|  | 			%= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		% my $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:'); | ||||||
|  | 		<p><span class=label> | ||||||
|  | 			%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));  | ||||||
|  | 		</span><span class=input> | ||||||
|  | 			% param 'sSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) unless param 'sSMTPAuth'; | ||||||
|  | 		 | ||||||
|  | 			%= select_field 'sSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%my $smtp_mesg=l('Submission port %u status:'); | ||||||
|  | 		<p><span class=label> | ||||||
|  | 			%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));  | ||||||
|  | 		</span><span class=input> | ||||||
|  | 			% param 'uSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) unless param 'uSMTPAuth'; | ||||||
|  | 	<!-- | ||||||
|  | 		<pre> | ||||||
|  | 			%= dumper $c->get_smtp_ssl_auth_opt() | ||||||
|  | 			%= dumper $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) | ||||||
|  | 			%= dumper $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) | ||||||
|  | 			%= dumper $c->get_db_prop("uqpsmtpd","access") | ||||||
|  | 			%= param 'uSMTPAuth' | ||||||
|  | 		</pre> | ||||||
|  | 	--> | ||||||
|  | 		%= select_field 'uSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<!--<hr class="sectionbar" />--> | ||||||
|  | 		<h2> | ||||||
|  | 		%=l 'mai_TITLE_SECONDARY' | ||||||
|  | 		</h2><br> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_SECONDARY' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SECONDARY' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SecondaryMailServer' => $mai_data->{secondarymailserver} unless param 'SecondaryMailServer'; | ||||||
|  | 		%= text_field 'SecondaryMailServer', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%=l 'mai_DESC_FETCH_PERIOD' | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_FETCH_PERIOD' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'FreqOffice' => $mai_data->{freqoffice} unless param 'FreqOffice'; | ||||||
|  | 		%= select_field 'FreqOffice' => $c->fetchmail_freq(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_FETCH_PERIOD_NIGHTS' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'FreqOutside' => $mai_data->{freqoutside} unless param 'FreqOutside'; | ||||||
|  | 		%= select_field 'FreqOutside' => $c->fetchmail_freq(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_FETCH_PERIOD_WEEKENDS' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'FreqWeekend' => $mai_data->{freqweekend} unless param 'FreqWeekend'; | ||||||
|  | 		%= select_field 'FreqWeekend' => $c->fetchmail_freq(), class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_POP_ACCOUNT' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SecondaryMailAccount' => $mai_data->{secondarymailaccount} unless param 'SecondaryMailAccount'; | ||||||
|  | 		%= text_field 'SecondaryMailAccount', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_POP_PASS' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SecondaryMailPassword' => $mai_data->{secondarymailpassword} unless param 'SecondaryMailPassword'; | ||||||
|  | 		%= password_field 'SecondaryMailPassword', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SORT_METHOD' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SpecifyHeader' => $mai_data->{specifyheader} unless param 'SpecifyHeader'; | ||||||
|  | 		%= select_field 'SpecifyHeader' => [[(l 'mai_DEFAULT') => 'off'], [(l 'mai_SPECIFY_BELOW') => 'on']], class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		<p><span class=label> | ||||||
|  | 		%=l 'mai_LABEL_SORT_HEADER' | ||||||
|  | 		</span><span class=input> | ||||||
|  | 		% param 'SecondaryMailEnvelope' => $mai_data->{secondarymailenvelope} unless param 'SecondaryMailEnvelope'; | ||||||
|  | 		%= text_field 'SecondaryMailEnvelope', class => 'input' | ||||||
|  | 		</span></p> | ||||||
|  |  | ||||||
|  | 		%# .... | ||||||
|  | 		%# Probably finally by a submit. | ||||||
|  | 		%= submit_button $btn, class => 'action' | ||||||
|  | 	%end     | ||||||
|  | </div> | ||||||
| @@ -2,7 +2,7 @@ Summary: Sme server  navigation module : manager 2 | |||||||
| %define name smeserver-manager | %define name smeserver-manager | ||||||
| Name: %{name} | Name: %{name} | ||||||
| %define version 11.0.0 | %define version 11.0.0 | ||||||
| %define release 96 | %define release 98 | ||||||
| Version: %{version} | Version: %{version} | ||||||
| Release: %{release}%{?dist} | Release: %{release}%{?dist} | ||||||
| License: GPL | License: GPL | ||||||
| @@ -36,6 +36,7 @@ Requires: perl(Net::Netmask) >= 1.9 | |||||||
| Requires: perl(DBM::Deep) >= 2.0011-1 | Requires: perl(DBM::Deep) >= 2.0011-1 | ||||||
| Requires: perl(Mojo::JWT) >= 0.08-1 | Requires: perl(Mojo::JWT) >= 0.08-1 | ||||||
| #Requires: perl(Time::TAI64) >= 2.11 | #Requires: perl(Time::TAI64) >= 2.11 | ||||||
|  | Requires: perl(Data::Validate::IP) | ||||||
| Requires: mutt >= 1.5.21 | Requires: mutt >= 1.5.21 | ||||||
| Requires: smeserver-manager-jsquery >= 1.0 | Requires: smeserver-manager-jsquery >= 1.0 | ||||||
| Requires: smeserver-certificates >= 11.0 | Requires: smeserver-certificates >= 11.0 | ||||||
| @@ -145,6 +146,12 @@ true | |||||||
| %defattr(-,root,root) | %defattr(-,root,root) | ||||||
|  |  | ||||||
| %changelog | %changelog | ||||||
|  | * Sun Jun 29 2025 Brian Read <brianr@koozali.org> 11.0.0-98.sme | ||||||
|  | - Re-factor email settings panel as error handling not working as expected.  [SME: 12973] | ||||||
|  |  | ||||||
|  | * Sat Jun 28 2025 Brian Read <brianr@koozali.org> 11.0.0-97.sme | ||||||
|  | - fix error handling in emailsettings panel [SME: 12973] | ||||||
|  |  | ||||||
| * Fri Jun 27 2025 Brian Read <brianr@koozali.org> 11.0.0-96.sme | * Fri Jun 27 2025 Brian Read <brianr@koozali.org> 11.0.0-96.sme | ||||||
| - Remove *.en files on install in spec file [SME: 13061] | - Remove *.en files on install in spec file [SME: 13061] | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user