Marius Cramer
2014-10-13 43418672d32ee65ee6060314d4e66c3c44a8b0cb
Merge branch 'master_fixes' into 'master'

Use LMTP only if necessary

Defaultvalues for virtual_transport switched back to maildrop like in 3.0.5.x. If dovecot is used, configure_dovcot switches to dovecot also like in 3.0.5.x. lmtp is only used in future if Uid-Mapping is enabled -> therefor it is necessary. Switching is implemented in server-postfix-plugin.
Validate Mail/Webuser-UID-Mapping: only enable, when Single-Server-Setup. Switching only possible unless a user was created.

Reason for this change: Few months ago a feature for mapping web-user-linux-uid to mail-user was added to sum up disk quota over webspace and mailusage. This feature required switching mail-delivery virtual_transport from maildrop or dovecot to lmtp. LMTP has one big disadvantage: X-Original-header will get lost when deliver a BCC-mail to a mailbox.
Additional this feature only works if mail and web-files lay on the same server. and if changing this value, directory-permissions would be necessary to change, so it will only be possible if there is NO mail user created yet.

See merge request !128
33 files modified
1 files added
241 ■■■■ changed files
install/dist/lib/debian60.lib.php 2 ●●● patch | view | raw | blame | history
install/dist/lib/fedora.lib.php 2 ●●● patch | view | raw | blame | history
install/dist/lib/gentoo.lib.php 2 ●●● patch | view | raw | blame | history
install/dist/lib/opensuse.lib.php 2 ●●● patch | view | raw | blame | history
install/tpl/debian_postfix.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/fedora_postfix.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/gentoo_postfix.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/opensuse_postfix.conf.master 2 ●●● patch | view | raw | blame | history
interface/lib/classes/validate_server_mail_config.inc.php 70 ●●●●● patch | view | raw | blame | history
interface/web/admin/form/server_config.tform.php 4 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ar_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/bg_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/br_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/cz_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/de_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/el_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/en_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/es_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/fi_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/hr_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/hu_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/id_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/it_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ja_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/nl_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/pl_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/pt_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ro_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ru_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/sk_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/tr_server_config.lng 6 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_mail_edit.htm 2 ●●● patch | view | raw | blame | history
server/plugins-available/postfix_server_plugin.inc.php 17 ●●●● patch | view | raw | blame | history
install/dist/lib/debian60.lib.php
@@ -57,7 +57,7 @@
        // Adding the amavisd commands to the postfix configuration
        $postconf_commands = array (
            'dovecot_destination_recipient_limit = 1',
            'virtual_transport = lmtp:unix:private/dovecot-lmtp',
            'virtual_transport = dovecot',
            'smtpd_sasl_type = dovecot',
            'smtpd_sasl_path = private/auth'
        );
install/dist/lib/fedora.lib.php
@@ -402,7 +402,7 @@
        // Adding the amavisd commands to the postfix configuration
        $postconf_commands = array (
            'dovecot_destination_recipient_limit = 1',
            'virtual_transport = lmtp:unix:private/dovecot-lmtp',
            'virtual_transport = dovecot',
            'smtpd_sasl_type = dovecot',
            'smtpd_sasl_path = private/auth',
        );
install/dist/lib/gentoo.lib.php
@@ -245,7 +245,7 @@
        //* Reconfigure postfix to use dovecot authentication
        $postconf_commands = array (
            'dovecot_destination_recipient_limit = 1',
            'virtual_transport = lmtp:unix:private/dovecot-lmtp',
            'virtual_transport = dovecot',
            'smtpd_sasl_type = dovecot',
            'smtpd_sasl_path = private/auth'
        );
install/dist/lib/opensuse.lib.php
@@ -453,7 +453,7 @@
        // Adding the amavisd commands to the postfix configuration
        $postconf_commands = array (
            'dovecot_destination_recipient_limit = 1',
            'virtual_transport = lmtp:unix:private/dovecot-lmtp',
            'virtual_transport = dovecot',
            'smtpd_sasl_type = dovecot',
            'smtpd_sasl_path = private/auth',
        );
install/tpl/debian_postfix.conf.master
@@ -26,7 +26,7 @@
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit   = 1
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_transport = maildrop
header_checks = regexp:{config_dir}/header_checks
mime_header_checks = regexp:{config_dir}/mime_header_checks
nested_header_checks = regexp:{config_dir}/nested_header_checks
install/tpl/fedora_postfix.conf.master
@@ -23,7 +23,7 @@
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit   = 1
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_transport = maildrop
header_checks = regexp:{config_dir}/header_checks
mime_header_checks = regexp:{config_dir}/mime_header_checks
nested_header_checks = regexp:{config_dir}/nested_header_checks
install/tpl/gentoo_postfix.conf.master
@@ -22,7 +22,7 @@
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit   = 1
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_transport = maildrop
header_checks = regexp:{config_dir}/header_checks
mime_header_checks = regexp:{config_dir}/mime_header_checks
nested_header_checks = regexp:{config_dir}/nested_header_checks
install/tpl/opensuse_postfix.conf.master
@@ -23,7 +23,7 @@
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit   = 1
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_transport = maildrop
header_checks = regexp:{config_dir}/header_checks
mime_header_checks = regexp:{config_dir}/mime_header_checks
nested_header_checks = regexp:{config_dir}/nested_header_checks
interface/lib/classes/validate_server_mail_config.inc.php
New file
@@ -0,0 +1,70 @@
<?php
/*
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
Copyright (c) 2012, Marius Cramer, pixcept KG
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
class validate_server_mail_config {
    function get_error($errmsg) {
        global $app;
        if(isset($app->tform->wordbook[$errmsg])) {
            return $app->tform->wordbook[$errmsg]."<br>\r\n";
        } else {
            return $errmsg."<br>\r\n";
        }
    }
    /* Validator function to check for changing virtual_uidgid_maps */
    function mailbox_virtual_uidgid_maps($field_name, $field_value, $validator) {
        global $app, $conf;
        if (empty($field_value)) $field_value = 'n';
        $app->uses('getconf,system,db');
        $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
        // try to activat the function -> only if only one mailserver out there and if dovecot is installed
        if ($field_value == 'y') {
            // if this count is more then 1, there is more than 1 webserver, more than 1 mailserver or different web+mailserver -> so this feature isn't possible
            $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM server WHERE mail_server=1 OR web_server=1");
            if($num_rec['number'] > 1) {
                return $this->get_error('mailbox_virtual_uidgid_maps_error_nosingleserver');
            }
        }
        // Value can only be changed if there is no mailuser set
        if ($mail_config["mailbox_virtual_uidgid_maps"] != $field_value) {
            $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM mail_user");
            if($num_rec['number'] > 0) {
                return $this->get_error('mailbox_virtual_uidgid_maps_error_alreadyusers');
            }
        }
    }
}
interface/web/admin/form/server_config.tform.php
@@ -387,6 +387,10 @@
        'mailbox_virtual_uidgid_maps' => array(
            'datatype' => 'VARCHAR',
            'formtype' => 'CHECKBOX',
            'validators' => array (0 => array ( 'type' => 'CUSTOM',
                    'class' => 'validate_server_mail_config',
                    'function' => 'mailbox_virtual_uidgid_maps'),
            ),
            'default' => 'n',
            'value' => array(0 => 'n', 1 => 'y')
        ),
interface/web/admin/lib/lang/ar_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Name';
$wb['mailuser_group_txt'] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost User';
$wb['relayhost_password_txt'] = 'Relayhost Password';
interface/web/admin/lib/lang/bg_server_config.lng
@@ -22,7 +22,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Name';
$wb['mailuser_group_txt'] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost User';
$wb['relayhost_password_txt'] = 'Relayhost Password';
interface/web/admin/lib/lang/br_server_config.lng
@@ -23,7 +23,11 @@
$wb['mailuser_gid_txt'] = 'GID usuário de email';
$wb['mailuser_name_txt'] = 'Nome usuário de email';
$wb['mailuser_group_txt'] = 'Grupo usuário de email';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Host Relay';
$wb['relayhost_user_txt'] = 'Usuário do Host Relay';
$wb['relayhost_password_txt'] = 'Senha do Host Relay';
interface/web/admin/lib/lang/cz_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mail uživatel GID';
$wb['mailuser_name_txt'] = 'Mail uživatel jméno';
$wb['mailuser_group_txt'] = 'Mail uživatel skupina';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost uživatel';
$wb['relayhost_password_txt'] = 'Relayhost heslo';
interface/web/admin/lib/lang/de_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mailbenutzer GID';
$wb['mailuser_name_txt'] = 'Mailbenutzer Name';
$wb['mailuser_group_txt'] = 'Mailbenutzer Gruppe';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Website Linux Uid für Mailboxen (nur wenn beides auf gleichem Server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Website Linux Uid für Mailboxen';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'nur wenn beides auf gleichem Server';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid kann in Multiserver-Umgebung nicht gemappt werden.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid Mapping funktioniert nur in Verbindung mit dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid Mapping kann nur umgeschaltet werden, wenn noch keine Mailuser angelegt sind.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost Benutzer';
$wb['relayhost_password_txt'] = 'Relayhost Passwort';
interface/web/admin/lib/lang/el_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Όνομα Mailuser';
$wb['mailuser_group_txt'] = 'Ομάδα Mailuser';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Χρήστης Relayhost';
$wb['relayhost_password_txt'] = 'Συνθηματικό Relayhost';
interface/web/admin/lib/lang/en_server_config.lng
@@ -35,7 +35,11 @@
$wb["mailuser_gid_txt"] = 'Mailuser GID';
$wb["mailuser_name_txt"] = 'Mailuser Name';
$wb["mailuser_group_txt"] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb["relayhost_txt"] = 'Relayhost';
$wb["relayhost_user_txt"] = 'Relayhost User';
$wb["relayhost_password_txt"] = 'Relayhost Password';
interface/web/admin/lib/lang/es_server_config.lng
@@ -22,7 +22,11 @@
$wb['mailuser_gid_txt'] = 'GID del usuario de correo';
$wb['mailuser_name_txt'] = 'Nombre del usuario de correo';
$wb['mailuser_group_txt'] = 'Grupo del usuario de correo';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Usar ID de usuario de Linux de sitios web para los buzones (solo si en el mismo servidor)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Servidor de retransmisión';
$wb['relayhost_user_txt'] = 'Usuario de retransmisión';
$wb['relayhost_password_txt'] = 'Contraseña de retramisión';
interface/web/admin/lib/lang/fi_server_config.lng
@@ -22,7 +22,11 @@
$wb['mailuser_gid_txt'] = 'Käyttäjäryhmä';
$wb['mailuser_name_txt'] = 'Postikäyttäjän nimi';
$wb['mailuser_group_txt'] = 'Postikäyttäjän ryhmä';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Edelleenlähetyspalvelin';
$wb['relayhost_user_txt'] = 'Edelleenlähetyspalvelimen käyttäjätunnus';
$wb['relayhost_password_txt'] = 'Edelleenlähetyspalvelimen salasana';
interface/web/admin/lib/lang/hr_server_config.lng
@@ -23,7 +23,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser ime';
$wb['mailuser_group_txt'] = 'Mailuser grupa';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost korisnik';
$wb['relayhost_password_txt'] = 'Relayhost šifra';
interface/web/admin/lib/lang/hu_server_config.lng
@@ -22,7 +22,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Name';
$wb['mailuser_group_txt'] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost User';
$wb['relayhost_password_txt'] = 'Relayhost Password';
interface/web/admin/lib/lang/id_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'GID Pengguna Mail';
$wb['mailuser_name_txt'] = 'Nama Pengguna Mail';
$wb['mailuser_group_txt'] = 'Grup Pengguna Mail';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Pengguna Relayhost';
$wb['relayhost_password_txt'] = 'Kata Sandi Relayhost';
interface/web/admin/lib/lang/it_server_config.lng
@@ -21,7 +21,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Name';
$wb['mailuser_group_txt'] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost User';
$wb['relayhost_password_txt'] = 'Relayhost Password';
interface/web/admin/lib/lang/ja_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'メールユーザーのGID';
$wb['mailuser_name_txt'] = 'メールユーザー名';
$wb['mailuser_group_txt'] = 'メールユーザーグループ';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'リレーホスト';
$wb['relayhost_user_txt'] = 'リレーホストユーザー';
$wb['relayhost_password_txt'] = 'リレーホストパスワード';
interface/web/admin/lib/lang/nl_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser name';
$wb['mailuser_group_txt'] = 'Mailuser groep';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost gebruiker';
$wb['relayhost_password_txt'] = 'Relayhost wachtwoord';
interface/web/admin/lib/lang/pl_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'GID użytkownika e-mail';
$wb['mailuser_name_txt'] = 'Nazwa użytkownika e-mail';
$wb['mailuser_group_txt'] = 'Grupa użytkownika e-mail';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Adres Relayhost';
$wb['relayhost_user_txt'] = 'Użytkownik Relayhost';
$wb['relayhost_password_txt'] = 'Hasło Relayhost';
interface/web/admin/lib/lang/pt_server_config.lng
@@ -23,7 +23,11 @@
$wb['mailuser_gid_txt'] = 'GID utilizador de email';
$wb['mailuser_name_txt'] = 'Nome utilizador de email';
$wb['mailuser_group_txt'] = 'Grupo utilizador de email';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Host Relay';
$wb['relayhost_user_txt'] = 'Utilizador do Host Relay';
$wb['relayhost_password_txt'] = 'Senha do Host Relay';
interface/web/admin/lib/lang/ro_server_config.lng
@@ -23,7 +23,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Name';
$wb['mailuser_group_txt'] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost User';
$wb['relayhost_password_txt'] = 'Relayhost Password';
interface/web/admin/lib/lang/ru_server_config.lng
@@ -21,7 +21,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Имя Mailuser';
$wb['mailuser_group_txt'] = 'Группа Mailuser';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relay-хост';
$wb['relayhost_user_txt'] = 'Логин Relay-хоста';
$wb['relayhost_password_txt'] = 'Пароль Relay-хоста';
interface/web/admin/lib/lang/se_server_config.lng
@@ -22,7 +22,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Name';
$wb['mailuser_group_txt'] = 'Mailuser Group';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost User';
$wb['relayhost_password_txt'] = 'Relayhost Password';
interface/web/admin/lib/lang/sk_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mailuser GID';
$wb['mailuser_name_txt'] = 'Mailuser Meno';
$wb['mailuser_group_txt'] = 'Mailuser Skupina';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost uživateľ';
$wb['relayhost_password_txt'] = 'Relayhost heslo';
interface/web/admin/lib/lang/tr_server_config.lng
@@ -24,7 +24,11 @@
$wb['mailuser_gid_txt'] = 'Mail kullanıcısı GID';
$wb['mailuser_name_txt'] = 'Mail kullanıcısı Adı';
$wb['mailuser_group_txt'] = 'Mail kullanıcısı Grubu';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox (only if both on the same server)';
$wb['mailbox_virtual_uidgid_maps_txt'] = 'Use Websites Linux uid for mailbox';
$wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-server-setup';
$wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.';
$wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.';
$wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.';
$wb['relayhost_txt'] = 'Relayhost';
$wb['relayhost_user_txt'] = 'Relayhost Kullanıcı';
$wb['relayhost_password_txt'] = 'Relayhost Şifre';
interface/web/admin/templates/server_config_mail_edit.htm
@@ -66,7 +66,7 @@
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='mailbox_virtual_uidgid_maps_txt'}</p>
                <div class="multiField">
                    {tmpl_var name='mailbox_virtual_uidgid_maps'}
                    {tmpl_var name='mailbox_virtual_uidgid_maps'}&nbsp;{tmpl_var name='mailbox_virtual_uidgid_maps_info_txt'}
                </div>
            </div>
            <div class="ctrlHolder">
server/plugins-available/postfix_server_plugin.inc.php
@@ -79,12 +79,12 @@
        global $app, $conf;
        // get the config
        $app->uses("getconf");
        $app->uses("getconf,system");
        $old_ini_data = $app->ini_parser->parse_ini_string($data['old']['config']);
        $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
        copy('/etc/postfix/main.cf', '/etc/postfix/main.cf~');
        if($mail_config['relayhost'] != '') {
            exec("postconf -e 'relayhost = ".$mail_config['relayhost']."'");
            if($mail_config['relayhost_user'] != '' && $mail_config['relayhost_password'] != '') {
@@ -137,6 +137,19 @@
            }
            exec("postconf -e 'smtpd_recipient_restrictions = ".implode(", ", $new_options)."'");
        }
        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'");
            }
        }
        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)."'");