diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php index 1ddb6029fe9ba3b69f27ea29b4d6efd07efb7e72..42da878c3de2216bb9b6bf363a3c6e9874ff7191 100644 --- a/install/dist/lib/debian60.lib.php +++ b/install/dist/lib/debian60.lib.php @@ -57,7 +57,7 @@ class installer extends installer_base { // 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' ); diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index a6250bbb459d4e6d95dca08921daefc9230fc6de..078f64901dfbd8ce3db935c00209ed6b72d01f64 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -402,7 +402,7 @@ class installer_dist extends installer_base { // 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', ); diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index 407ec011fe40d34d4b4e3197d4b6cc92a3b5dcec..b419082ccd37668bae040f1386c34eef691c63dd 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -245,7 +245,7 @@ class installer extends installer_base //* 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' ); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 1144776aa365aec06d071b2b2c4660c39bb9ad31..0bcf58d7882151878a729a9a800ffed71452adb3 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -453,7 +453,7 @@ class installer_dist extends installer_base { // 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', ); diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master index 8ec3cb5230f85d1f6bdeb222dc6999f7035d6277..fa3105f3daf839e1990d89e49dc91b706fd3683d 100644 --- a/install/tpl/debian_postfix.conf.master +++ b/install/tpl/debian_postfix.conf.master @@ -25,7 +25,7 @@ smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual 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 diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master index 414160c728bddddc5e1478d349643f6709111ac1..3b542f32eabd2f7a1c6b3f50f055b028ea3a622e 100644 --- a/install/tpl/fedora_postfix.conf.master +++ b/install/tpl/fedora_postfix.conf.master @@ -22,7 +22,7 @@ smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual 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 diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master index 7ea89c92d5b2c89b17a695c081d9064fd192b74c..1b27702003868d34c029d5c0e10b06001532f5b8 100644 --- a/install/tpl/gentoo_postfix.conf.master +++ b/install/tpl/gentoo_postfix.conf.master @@ -22,7 +22,7 @@ smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual 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 diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master index 7ea89c92d5b2c89b17a695c081d9064fd192b74c..1b27702003868d34c029d5c0e10b06001532f5b8 100644 --- a/install/tpl/opensuse_postfix.conf.master +++ b/install/tpl/opensuse_postfix.conf.master @@ -22,7 +22,7 @@ smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual 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 diff --git a/interface/lib/classes/validate_server_mail_config.inc.php b/interface/lib/classes/validate_server_mail_config.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..00bce9a219c3b3146d7affa2a20b1c31fc78fcb3 --- /dev/null +++ b/interface/lib/classes/validate_server_mail_config.inc.php @@ -0,0 +1,70 @@ +tform->wordbook[$errmsg])) { + return $app->tform->wordbook[$errmsg]."
\r\n"; + } else { + return $errmsg."
\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'); + } + } + } + +} diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 8c6f89976b15514ef4a91826a0ff8bb2201b88fd..dd62c1862ff2401420cfecd583dd198bc1de4bf4 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -381,6 +381,10 @@ $form["tabs"]['mail'] = array( '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') ), diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng index 252004c002b3b8fb53de97892123e60d1d017257..a6871301a682b78f12ef6f8d273d11e9f77298ce 100644 --- a/interface/web/admin/lib/lang/ar_server_config.lng +++ b/interface/web/admin/lib/lang/ar_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng index b64c6eeb61be75dd5e396212909d991d7c763ddd..dc592032862ed28e71576692de83d0bb9871b2f9 100644 --- a/interface/web/admin/lib/lang/bg_server_config.lng +++ b/interface/web/admin/lib/lang/bg_server_config.lng @@ -22,7 +22,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng index b3977f31602e769a078fed2ae2606950a40a69c6..fc0cbc6ec4ea6feb5a85832131a64a7f87d09add 100644 --- a/interface/web/admin/lib/lang/br_server_config.lng +++ b/interface/web/admin/lib/lang/br_server_config.lng @@ -23,7 +23,11 @@ $wb['mailuser_uid_txt'] = 'UID usuário de email'; $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'; diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng index fa62b93761c807b9f1ec9c29c7d97571994cbd1b..df212ea3582dadd4b01d956f9c0e2968c35ada0d 100644 --- a/interface/web/admin/lib/lang/cz_server_config.lng +++ b/interface/web/admin/lib/lang/cz_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mail uživatel UID'; $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'; diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index a6e71ba7724e7155e63ec33fd1639943acda8e22..66b037833edcc984c3bf8f308385f5651460a605 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mailbenutzer UID'; $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'; diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng index da3f99c5dbbaffe76a88d604a7bfc73d89c10f60..598b1d9b095f2284a5f827b3763b8a3a6fe380f8 100644 --- a/interface/web/admin/lib/lang/el_server_config.lng +++ b/interface/web/admin/lib/lang/el_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 9331b50d8fc58d1699473486a1fbc1861e42e9b4..46262bbbacd852e5a13b96cbf4aa28668727b0f7 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -35,7 +35,11 @@ $wb["mailuser_uid_txt"] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng index 734d83bdec0529f024189e7057b625fd532d267b..5a768d82d6fef87efefdfcee669d03fd00373078 100644 --- a/interface/web/admin/lib/lang/es_server_config.lng +++ b/interface/web/admin/lib/lang/es_server_config.lng @@ -22,7 +22,11 @@ $wb['mailuser_uid_txt'] = 'UID del usuario de correo'; $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'; diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng index 70bf661c8b82ccbec75b49ac752a515a7d2cbb05..e55baa63399803156d273032abfe1f31dd5dfe9b 100755 --- a/interface/web/admin/lib/lang/fi_server_config.lng +++ b/interface/web/admin/lib/lang/fi_server_config.lng @@ -22,7 +22,11 @@ $wb['mailuser_uid_txt'] = 'Käyttäjätunnus'; $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'; diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng index 00d99afd9b464bde7215a1552293b5bb1dafaab0..d63f461909b13e7ef3dc728b1b0738116f2b4257 100644 --- a/interface/web/admin/lib/lang/hr_server_config.lng +++ b/interface/web/admin/lib/lang/hr_server_config.lng @@ -23,7 +23,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng index 88d2148a5cefb0ce1ff59127b3dce2d343b34ae4..7347bfd99c78d70d2fbe5ba217f6ca51361b332e 100644 --- a/interface/web/admin/lib/lang/hu_server_config.lng +++ b/interface/web/admin/lib/lang/hu_server_config.lng @@ -22,7 +22,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng index 8fcd47e6425aec262af11fd2fbcbcd60b871687c..4b75b353d319ceb45e6a42925b34fc94e5bcda39 100644 --- a/interface/web/admin/lib/lang/id_server_config.lng +++ b/interface/web/admin/lib/lang/id_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'UID Pengguna Mail'; $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'; diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng index 8f74a30b78f4c533b2ca1e731165bd6a093240ac..8c7bd1169c0f6aa8fbfe2a534f76487c9e3ed4b6 100644 --- a/interface/web/admin/lib/lang/it_server_config.lng +++ b/interface/web/admin/lib/lang/it_server_config.lng @@ -21,7 +21,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng index 3ca75cd17abb807c24b3ed7eb3ee0657d3413c6f..1be98aa09b1af996e070bf4c8af2bc70c9b0ab28 100644 --- a/interface/web/admin/lib/lang/ja_server_config.lng +++ b/interface/web/admin/lib/lang/ja_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'メールユーザーのUID'; $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'] = 'リレーホストパスワード'; diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng index e7c6b4bd6bf35f67db75799a00a00a1a438f592a..cbb6c2bed6a96e959ad3ee8bc096f41797087b73 100644 --- a/interface/web/admin/lib/lang/nl_server_config.lng +++ b/interface/web/admin/lib/lang/nl_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng index e13f2fcde9baaa7d13db486e315d187503be8a63..2d67bd35b60a2cfa5c1e489a3496b771fca18912 100644 --- a/interface/web/admin/lib/lang/pl_server_config.lng +++ b/interface/web/admin/lib/lang/pl_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'UID użytkownika e-mail'; $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'; diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng index 93a7971b00768096f9bff76adbac860f104f4ca6..1ed4cf1c797d44f5938adf986e472dc2828f3bd9 100644 --- a/interface/web/admin/lib/lang/pt_server_config.lng +++ b/interface/web/admin/lib/lang/pt_server_config.lng @@ -23,7 +23,11 @@ $wb['mailuser_uid_txt'] = 'UID utilizador de email'; $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'; diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng index a3d9b429ae4096bf4161c29e7c1afce893452cbe..aa7e42a30884ac124e09f4a5fc66017dce923d3f 100644 --- a/interface/web/admin/lib/lang/ro_server_config.lng +++ b/interface/web/admin/lib/lang/ro_server_config.lng @@ -23,7 +23,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng index c7b355ad07c6586f015a6b730bdefeac581de255..dd82e58f4a78bc06d3037d9d0f763da6c9ed2363 100644 --- a/interface/web/admin/lib/lang/ru_server_config.lng +++ b/interface/web/admin/lib/lang/ru_server_config.lng @@ -21,7 +21,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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-хоста'; diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng index 8e3768c1ef391ebf90481c2c301449fefa128fa1..9a2d518a583f71b6f28caedfc1a924620cd6d8c3 100644 --- a/interface/web/admin/lib/lang/se_server_config.lng +++ b/interface/web/admin/lib/lang/se_server_config.lng @@ -22,7 +22,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng index 6cf7be92503af0c1af292f25558346b957beb1df..78d6ccb5c815f3eaebe92c76e9d733e87d607f5a 100644 --- a/interface/web/admin/lib/lang/sk_server_config.lng +++ b/interface/web/admin/lib/lang/sk_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mailuser UID'; $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'; diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng index 9081a4dad80ee42a3107d836264b1ccb2e0885c3..4c6c4f351e6887bf575e5685d251384941f8cc11 100644 --- a/interface/web/admin/lib/lang/tr_server_config.lng +++ b/interface/web/admin/lib/lang/tr_server_config.lng @@ -24,7 +24,11 @@ $wb['mailuser_uid_txt'] = 'Mail kullanıcısı UID'; $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'; diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index 2bf8f9368dc0bb8b3f9a0aca4e57f5eef81e598c..7eeab34c17986d166c72dc7b8e82234f6d111ae4 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -58,7 +58,7 @@

{tmpl_var name='mailbox_virtual_uidgid_maps_txt'}

- {tmpl_var name='mailbox_virtual_uidgid_maps'} + {tmpl_var name='mailbox_virtual_uidgid_maps'} {tmpl_var name='mailbox_virtual_uidgid_maps_info_txt'}
diff --git a/server/plugins-available/postfix_server_plugin.inc.php b/server/plugins-available/postfix_server_plugin.inc.php index fd9fd5a0218ecade6aa3a2a01977700576f4aa61..474d10dc303a8f6d82ca6d5c06c5084516d5441e 100644 --- a/server/plugins-available/postfix_server_plugin.inc.php +++ b/server/plugins-available/postfix_server_plugin.inc.php @@ -79,12 +79,12 @@ class postfix_server_plugin { 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 @@ class postfix_server_plugin { } 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)."'");