diff --git a/server/plugins-available/postfix_server_plugin.inc.php b/server/plugins-available/postfix_server_plugin.inc.php index 87ae500daf7998738be3a0234854fa843758fbb7..d0062b1c76fcbdbcb80dfff606be14c51ad54737 100644 --- a/server/plugins-available/postfix_server_plugin.inc.php +++ b/server/plugins-available/postfix_server_plugin.inc.php @@ -161,27 +161,29 @@ class postfix_server_plugin { 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'"); - 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($app->system->is_installed('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'); + if($app->system->is_installed('dovecot')) { + if ($mail_config["mailbox_virtual_uidgid_maps"] == 'y') { + $temp = exec("postconf -n virtual_transport", $out); + // 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? + }