From c6e05a8eebc58624c675d4b10d33e94e6b6fa83b Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 12 Sep 2011 10:16:19 -0400
Subject: [PATCH] Implemented: FS#1385 - Define all Email aliases in dovecot autoresponder
---
server/conf/sieve_filter.master | 2 +-
server/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 2b4a9fc..3bd42ed 100644
--- a/server/conf/sieve_filter.master
+++ b/server/conf/sieve_filter.master
@@ -31,6 +31,6 @@
}
vacation :days 1
:subject "Out of office reply"
- # :addresses ["test@test.int", "till@test.int"]
+ <tmpl_var name='addresses'>
"<tmpl_var name='autoresponder_text'>";
</tmpl_if>
diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php
index 39e6a4c..61cca83 100644
--- a/server/plugins-available/maildeliver_plugin.inc.php
+++ b/server/plugins-available/maildeliver_plugin.inc.php
@@ -118,7 +118,21 @@
$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);
--
Gitblit v1.9.1