Skip to content
Snippets Groups Projects
Commit 62af6f14 authored by Jesse Norell's avatar Jesse Norell
Browse files

no need for multiple, identical sieve filter templates

parent 74196ba1
No related branches found
No related tags found
No related merge requests found
<tmpl_if name="sieve_script" op="==" value="before">
# This sieve script is generated by ISPConfig, any changes made will be overwritten.
# You can create and activate a per-user sieve script (manually or via managesieve),
# which will execute after this.
require ["fileinto", "regex", "date", "relational", "vacation", "imap4flags", "envelope", "subaddress", "copy", "reject"];
<tmpl_if name="move_junk" op="==" value="y">
# Move spam to spam folder
if anyof (header :contains "X-Spam-Flag" "YES", header :contains "X-Spam" "Yes", header :contains "subject" "*** SPAM ***", header :contains "subject" "***SPAM***") {
fileinto "Junk";
# Stop here so that we do not reply on spams
stop;
}
</tmpl_if>
<tmpl_if name="cc">
# Send a copy of email to
<tmpl_loop name="ccloop">
redirect "<tmpl_var name='address'>";
</tmpl_loop>
</tmpl_if>
<tmpl_var name='custom_mailfilter'>
</tmpl_if>
<tmpl_if name="sieve_script" op="==" value="after">
# This sieve script is generated by ISPConfig, any changes made will be overwritten.
# You can create and activate a per-user sieve script (manually or via managesieve),
# which will execute before this.
<tmpl_if name="move_junk" op="==" value="a">
# Move spam to spam folder
if anyof (header :contains "X-Spam-Flag" "YES", header :contains "X-Spam" "Yes", header :contains "subject" "*** SPAM ***", header :contains "subject" "***SPAM***") {
fileinto "Junk";
# Stop here so that we do not reply on spams
stop;
}
</tmpl_if>
<tmpl_if name="autoresponder" op="==" value="y">
#################################################################
# Autoreply
#################################################################
# Move spam to spam folder
if anyof (header :contains "X-Spam-Flag" "YES", header :contains "X-Spam" "Yes", header :contains "subject" "*** SPAM ***", header :contains "subject" "***SPAM***") {
# Stop here so that we do not reply on spams
stop;
}
<tmpl_if name="start_date">
if currentdate :value "ge" "iso8601" "<tmpl_var name='start_date'>" {
</tmpl_if>
<tmpl_if name="end_date">
if currentdate :value "le" "iso8601" "<tmpl_var name='end_date'>" {
</tmpl_if>
vacation :days 1
:subject "<tmpl_var name='autoresponder_subject'>"
<tmpl_var name='addresses'>
"<tmpl_var name='autoresponder_text'>";
<tmpl_if name="end_date">
}
</tmpl_if>
<tmpl_if name="start_date">
}
</tmpl_if>
</tmpl_if>
</tmpl_if>
...@@ -114,23 +114,10 @@ class maildeliver_plugin { ...@@ -114,23 +114,10 @@ class maildeliver_plugin {
if(is_file($sieve_file_isp_after_svbin)) unlink($sieve_file_isp_after_svbin) or $app->log("Unable to delete file: $sieve_file_isp_after_svbin", LOGLEVEL_WARN); if(is_file($sieve_file_isp_after_svbin)) unlink($sieve_file_isp_after_svbin) or $app->log("Unable to delete file: $sieve_file_isp_after_svbin", LOGLEVEL_WARN);
$app->load('tpl'); $app->load('tpl');
//* Select sieve filter file for dovecot version
exec('dovecot --version', $tmp);
if(substr($tmp[0], 0, 3) == '1.0') {
$filter_file_template = "sieve_filter.master";
} elseif(substr($tmp[0], 0, 3) == '1.2') {
$filter_file_template = "sieve_filter_1.2.master";
} elseif(substr($tmp[0], 0, 1) == '2') {
$filter_file_template = "sieve_filter_1.2.master";
} else {
$filter_file_template = "sieve_filter.master";
}
unset($tmp);
foreach ( array('before', 'after') as $sieve_script ) { foreach ( array('before', 'after') as $sieve_script ) {
//* Create new filter file based on template //* Create new filter file based on template
$tpl = new tpl(); $tpl = new tpl();
$tpl->newTemplate($filter_file_template); $tpl->newTemplate("sieve_filter.master");
// cc Field // cc Field
$tmp_mails_arr = explode(',',$data["new"]["cc"]); $tmp_mails_arr = explode(',',$data["new"]["cc"]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment