From c6e05a8eebc58624c675d4b10d33e94e6b6fa83b Mon Sep 17 00:00:00 2001 From: tbrehm Date: Mon, 12 Sep 2011 14:16:19 +0000 Subject: [PATCH] Implemented: FS#1385 - Define all Email aliases in dovecot autoresponder --- server/conf/sieve_filter.master | 2 +- .../plugins-available/maildeliver_plugin.inc.php | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/conf/sieve_filter.master b/server/conf/sieve_filter.master index 2b4a9fc2f8..3bd42ed17f 100644 --- a/server/conf/sieve_filter.master +++ b/server/conf/sieve_filter.master @@ -31,6 +31,6 @@ if header :contains "X-Spam-Flag" "YES" { } vacation :days 1 :subject "Out of office reply" - # :addresses ["test@test.int", "till@test.int"] + ""; diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php index 39e6a4c0d9..61cca83537 100644 --- a/server/plugins-available/maildeliver_plugin.inc.php +++ b/server/plugins-available/maildeliver_plugin.inc.php @@ -118,7 +118,21 @@ class maildeliver_plugin { $data["new"]["autoresponder_text"] = str_replace("\"","'",$data["new"]["autoresponder_text"]); $tpl->setVar('autoresponder_text',$data["new"]["autoresponder_text"]); - + + //* Set alias addresses for autoresponder + $sql = "SELECT * FROM mail_forwarding WHERE type = 'alias' AND destination = '".$app->db->quote($data["new"]["email"])."'"; + $records = $app->db->queryAllRecords($sql); + $addresses = ''; + if(is_array($records)) { + $addresses .= ':addresses ['; + foreach($records as $rec) { + $addresses .= '"'.$rec['source'].'",'; + } + $addresses = substr($addresses,0,-1); + $addresses .= ']'; + } + $tpl->setVar('addresses',$addresses); + file_put_contents($sieve_file,$tpl->grab()); unset($tpl); -- GitLab