From e1ceb050e19c7574bca146a8da7047ee4ff456b5 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Sun, 10 Jul 2016 05:02:35 -0400
Subject: [PATCH] Merge branch 'stable-3.1'
---
server/plugins-available/postfix_server_plugin.inc.php | 35 +++++++++++++++++++++++------------
1 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/server/plugins-available/postfix_server_plugin.inc.php b/server/plugins-available/postfix_server_plugin.inc.php
index e0de304..64c5571 100644
--- a/server/plugins-available/postfix_server_plugin.inc.php
+++ b/server/plugins-available/postfix_server_plugin.inc.php
@@ -139,6 +139,7 @@
}
}
exec("postconf -e 'smtpd_recipient_restrictions = ".implode(", ", $new_options)."'");
+ exec('postfix reload');
}
if($mail_config['reject_sender_login_mismatch'] != $old_ini_data['mail']['reject_sender_login_mismatch']) {
@@ -157,23 +158,33 @@
array_splice($new_options, $i, 0, array('reject_authenticated_sender_login_mismatch'));
}
exec("postconf -e 'smtpd_sender_restrictions = ".implode(", ", $new_options)."'");
+ exec('postfix reload');
}
- if ($mail_config["mailbox_virtual_uidgid_maps"] == 'y') {
- // If dovecot switch to lmtp
- if($app->system->is_installed('dovecot')) {
- exec("postconf -e 'virtual_transport = lmtp:unix:private/dovecot-lmtp'");
- }
- }
- else {
- // If dovecot switch to dovecot
- if($app->system->is_installed('dovecot')) {
- exec("postconf -e 'virtual_transport = dovecot'");
+ if($app->system->is_installed('dovecot')) {
+ $temp = exec("postconf -n virtual_transport", $out);
+ if ($mail_config["mailbox_virtual_uidgid_maps"] == 'y') {
+ // If dovecot switch to lmtp
+ if($out[0] != "virtual_transport = lmtp:unix:private/dovecot-lmtp") {
+ exec("postconf -e 'virtual_transport = lmtp:unix:private/dovecot-lmtp'");
+ exec('postfix reload');
+ $app->system->replaceLine("/etc/dovecot/dovecot.conf", "protocols = imap pop3", "protocols = imap pop3 lmtp");
+ exec($conf['init_scripts'] . '/' . 'dovecot restart');
+ }
+ } else {
+ // If dovecot switch to dovecot
+ if($out[0] != "virtual_transport = dovecot") {
+ exec("postconf -e 'virtual_transport = dovecot'");
+ exec('postfix reload');
+ $app->system->replaceLine("/etc/dovecot/dovecot.conf", "protocols = imap pop3 lmtp", "protocols = imap pop3");
+ exec($conf['init_scripts'] . '/' . 'dovecot restart');
+ }
}
}
- exec("postconf -e 'mailbox_size_limit = ".intval($mail_config['mailbox_size_limit']*1024*1024)."'");
- exec("postconf -e 'message_size_limit = ".intval($mail_config['message_size_limit']*1024*1024)."'");
+ exec("postconf -e 'mailbox_size_limit = ".intval($mail_config['mailbox_size_limit']*1024*1024)."'"); //TODO : no reload?
+ exec("postconf -e 'message_size_limit = ".intval($mail_config['message_size_limit']*1024*1024)."'"); //TODO : no reload?
+
}
--
Gitblit v1.9.1