diff --git a/install/tpl/mysql-virtual_policy_greylist.cf.master b/install/tpl/mysql-virtual_policy_greylist.cf.master index fd6fded819745ebfcf47fd490ddd727b49be0315..7967ee4a9ccaa0dcf83135b630222cbbfb82638c 100644 --- a/install/tpl/mysql-virtual_policy_greylist.cf.master +++ b/install/tpl/mysql-virtual_policy_greylist.cf.master @@ -1,5 +1,6 @@ user = {mysql_server_ispconfig_user} password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} -query = SELECT 'greylisting' FROM (SELECT greylisting, source AS email FROM mail_forwarding WHERE server_id = {server_id} UNION SELECT greylisting, email FROM mail_user WHERE server_id = {server_id}) addresses WHERE addresses.email='%s' AND addresses.greylisting='y' UNION SELECT 'greylisting' FROM `mail_forwarding` f CROSS JOIN `mail_user` u ON u.email = f.destination WHERE f.type = 'catchall' AND u.greylisting = 'y' AND u.server_id = {server_id} AND f.source = '@%s' +query = SELECT 'greylisting' FROM (SELECT `greylisting`, 1 as `prio` FROM `mail_user` WHERE `server_id` = {server_id} AND `email` = '%s' UNION SELECT `greylisting`, 2 as `prio` FROM `mail_forwarding` WHERE `server_id` = {server_id} AND `source` = '%s' UNION SELECT `greylisting`, 3 as `prio` FROM `mail_forwarding` WHERE `server_id` = {server_id} AND `source` = '@%s' ORDER BY `prio` ASC LIMIT 1) as rules WHERE rules.greylisting = 'y' + hosts = {mysql_server_ip} \ No newline at end of file diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php index 8d0c0296bdcbe756479d3a127316b6fc4702178f..81ce24c7b58e776c55874d0db7fd26dc529fb1f2 100644 --- a/interface/web/mail/form/mail_domain_catchall.tform.php +++ b/interface/web/mail/form/mail_domain_catchall.tform.php @@ -131,6 +131,12 @@ $form["tabs"]['catchall'] = array ( 'default' => 'y', 'value' => array(0 => 'n', 1 => 'y') ), + 'greylisting' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(1 => 'y', 0 => 'n') + ), //################################# // ENDE Datatable fields //################################# diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng index 9f37e56697126ed078d799f3c9ce4faeed8155c1..bef241e0ea6aabea07f902ff7529ac431de75c08 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng @@ -8,4 +8,5 @@ $wb['domain_error_regex'] = 'Ungültiger Domainname oder ungültige Zeichen im D $wb['limit_mailcatchall_txt'] = 'Die maximale Anzahl an Catchall Einträgen für Ihr Konto wurde erreicht.'; $wb['source_txt'] = 'Quelle'; $wb['destination_error_isemail'] = 'Das Ziel ist keine gültige E-Mail Adresse.'; +$wb['greylisting_txt'] = 'Aktiviere Greylisting'; ?> diff --git a/interface/web/mail/lib/lang/en_mail_domain_catchall.lng b/interface/web/mail/lib/lang/en_mail_domain_catchall.lng index 1f1726e54094dfe36f6979ee4b534abbc4105457..a49722802eb6c80bb13831621f838a0c44812f1b 100644 --- a/interface/web/mail/lib/lang/en_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/en_mail_domain_catchall.lng @@ -9,4 +9,5 @@ $wb["limit_mailcatchall_txt"] = 'The max. number of email catchall accounts for $wb['domain_txt'] = 'Domain'; $wb["source_txt"] = 'Source'; $wb['destination_error_isemail'] = 'Destination is no valid email address.'; +$wb['greylisting_txt'] = 'Enable greylisting'; ?> diff --git a/interface/web/mail/templates/mail_domain_catchall_edit.htm b/interface/web/mail/templates/mail_domain_catchall_edit.htm index 63c4405de243819c80e653a8b428bdb98d99af32..5991f2aecc21ad3729cd68f7a80e8ba5100f56d7 100644 --- a/interface/web/mail/templates/mail_domain_catchall_edit.htm +++ b/interface/web/mail/templates/mail_domain_catchall_edit.htm @@ -14,6 +14,12 @@ <div class="form-group"> <label for="destination" class="col-sm-3 control-label">{tmpl_var name='destination_txt'}</label> <div class="col-sm-9"><input type="text" name="destination" id="destination" value="{tmpl_var name='destination'}" class="form-control" /></div></div> + <div class="form-group"> + <label class="col-sm-3 control-label">{tmpl_var name='greylisting_txt'}</label> + <div class="col-sm-9"> + {tmpl_var name='greylisting'} + </div> + </div> <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='active_txt'}</label> <div class="col-sm-9">