diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master
index 688283f50ebd76108ba4e882f67ea4e6b8cfccd8..8c2292d6a383192fe02ab9665a897c8745dc3bff 100644
--- a/install/tpl/apache_ispconfig.conf.master
+++ b/install/tpl/apache_ispconfig.conf.master
@@ -136,7 +136,7 @@ Alias /.well-known/acme-challenge /usr/local/ispconfig/interface/acme/.well-know
         Allow from all
 		</tmpl_if>
         <IfModule mpm_itk_module>
-           AssignUserId www-data www-data
+           AssignUserId ispconfig ispconfig
         </IfModule>
 </Directory>
 
diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
index 5daabd50b35a6ffdfc3e6933e7314c9ecd90cb99..d5dcfd1fe4d6fe66785fd7f4f4e05c191de2321e 100644
--- a/interface/lib/classes/auth.inc.php
+++ b/interface/lib/classes/auth.inc.php
@@ -198,6 +198,36 @@ class auth {
 		
 	}
 
+	/**
+	 * Get the minimum password length.
+	 */
+	public function get_min_password_length() {
+		global $app;
+		$server_config_array = $app->getconf->get_global_config();
+		$min_password_length = 8;
+		if(isset($server_config_array['misc']['min_password_length'])) $min_password_length = $server_config_array['misc']['min_password_length'];
+		return $min_password_length;
+	}
+
+	/**
+	 * Get the minimum password strength.
+	 */
+	public function get_min_password_strength() {
+		global $app;
+		$server_config_array = $app->getconf->get_global_config();
+		$min_password_strength = 0;
+		if(isset($server_config_array['misc']['min_password_strength'])) $min_password_strength = $server_config_array['misc']['min_password_strength'];
+		return $min_password_strength;
+	}
+
+	/**
+	 * Generate a ranmdom password.
+	 *
+	 * @param int $minLength
+	 *   Minimum number of characters.
+	 * @param boolean $special
+	 *   Include special characters, like # and !
+	 */
 	public function get_random_password($minLength = 8, $special = false) {
 		if($minLength < 8) $minLength = 8;
 		$maxLength = $minLength + 5;
diff --git a/interface/lib/classes/remote.d/mail.inc.php b/interface/lib/classes/remote.d/mail.inc.php
index eec5ff0718c3c1afd50ead219789e85823e42033..c4582c634e43824d632881b2496b5a71930c3ba9 100644
--- a/interface/lib/classes/remote.d/mail.inc.php
+++ b/interface/lib/classes/remote.d/mail.inc.php
@@ -222,8 +222,8 @@ class remoting_mail extends remoting {
 		if (!isset($params['gid'])) $params['gid'] = -1;
 		if (!isset($params['maildir_format'])) $params['maildir_format'] = 'maildir';
 
-		$affected_rows = $this->insertQuery('../mail/form/mail_user.tform.php', $client_id, $params);
-		return $affected_rows;
+		$mailuser_id = $this->insertQuery('../mail/form/mail_user.tform.php', $client_id, $params);
+		return $mailuser_id;
 	}
 
 	//* Update mail user
diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php
index a0f6de2e969f3d21fec6546f41f01d5790d07a47..fc7b9698436bc41902bc8ddd3decbcf24c752e7c 100644
--- a/interface/lib/classes/validate_password.inc.php
+++ b/interface/lib/classes/validate_password.inc.php
@@ -111,10 +111,8 @@ class validate_password {
 		$app->uses('ini_parser,getconf');
 		$server_config_array = $app->getconf->get_global_config();
 		
-		$min_password_strength = 0;
-		$min_password_length = 5;
-		if(isset($server_config_array['misc']['min_password_length'])) $min_password_length = $server_config_array['misc']['min_password_length'];
-		if(isset($server_config_array['misc']['min_password_strength'])) $min_password_strength = $server_config_array['misc']['min_password_strength'];
+		$min_password_length = $app->auth->get_min_password_length();
+		$min_password_strength = $app->auth->get_min_password_strength();
 		
 		if($min_password_strength > 0) {
 			$lng_text = $app->lng('weak_password_txt');
diff --git a/interface/web/admin/lib/lang/ar_directive_snippets.lng b/interface/web/admin/lib/lang/ar_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/ar_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/ar_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/bg_directive_snippets.lng b/interface/web/admin/lib/lang/bg_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/bg_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/bg_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/ca_directive_snippets.lng b/interface/web/admin/lib/lang/ca_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/ca_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/ca_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/cz_directive_snippets.lng b/interface/web/admin/lib/lang/cz_directive_snippets.lng
index 26d17f64b366e474648be0e14043b477d9ae9a4e..d627dcebeb5d537e1b63e7a88c78bc7512150624 100644
--- a/interface/web/admin/lib/lang/cz_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/cz_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Proměnné';
 $wb['customer_viewable_txt'] = 'Dostupná volba pro klienta';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/de_directive_snippets.lng b/interface/web/admin/lib/lang/de_directive_snippets.lng
index dbe3aaf8bda98214340064fb398fc6ec540120eb..0351f73df6eb62f7453d485d56d7a500b9939996 100644
--- a/interface/web/admin/lib/lang/de_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/de_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Bitte geben Sie einen Namen für den Sch
 $wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven-Schnipsel mit diesem Namen.';
 $wb['variables_txt'] = 'Variablen';
 $wb['customer_viewable_txt'] = 'Sichtbar für Kunden';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/dk_directive_snippets.lng b/interface/web/admin/lib/lang/dk_directive_snippets.lng
index 1b158e5c8053714fbee35186f633e46fbc6eb532..154d83a48cedd09bb34742e7abb0715210d6602a 100644
--- a/interface/web/admin/lib/lang/dk_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/dk_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Angiv et navn til uddrag.';
 $wb['directive_snippets_name_error_unique'] = 'Der er allerede et direktiv uddrag med dette navn.';
 $wb['variables_txt'] = 'Variabler';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/el_directive_snippets.lng b/interface/web/admin/lib/lang/el_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/el_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/el_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/en_directive_snippets.lng b/interface/web/admin/lib/lang/en_directive_snippets.lng
index da164a531879a2687cd18d0d427dfa73c34fcdfa..7004caf2d6f0269e3f2202f9b519b2b0dfd93127 100644
--- a/interface/web/admin/lib/lang/en_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/en_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb["directive_snippets_name_empty"] = 'Please specify a name for the snippet.';
 $wb["directive_snippets_name_error_unique"] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
\ No newline at end of file
diff --git a/interface/web/admin/lib/lang/es_directive_snippets.lng b/interface/web/admin/lib/lang/es_directive_snippets.lng
index a5bb21b494464ba69e782120057824d53aef0572..a637f5f6feecd30fceabaa6c28334f31c4363db2 100644
--- a/interface/web/admin/lib/lang/es_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/es_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['name_txt'] = 'Nombre del fragmento';
 $wb['snippet_txt'] = 'Fragmento';
 $wb['type_txt'] = 'Tipo';
 $wb['variables_txt'] = 'Variables';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/fi_directive_snippets.lng b/interface/web/admin/lib/lang/fi_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/fi_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/fi_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/fr_directive_snippets.lng b/interface/web/admin/lib/lang/fr_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/fr_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/fr_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/hr_directive_snippets.lng b/interface/web/admin/lib/lang/hr_directive_snippets.lng
index 5709d6075d24c0811c5b51cdc3c04b98a89c3bf1..0fe357d9fc6aeda835a25b0d67807e870317a91d 100644
--- a/interface/web/admin/lib/lang/hr_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/hr_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Molimo vas specificirajte naziv direktiv
 $wb['directive_snippets_name_error_unique'] = 'Već postoji direktiva sa tim imenom.';
 $wb['variables_txt'] = 'Varijable';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/hu_directive_snippets.lng b/interface/web/admin/lib/lang/hu_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/hu_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/hu_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/id_directive_snippets.lng b/interface/web/admin/lib/lang/id_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/id_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/id_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/it_directive_snippets.lng b/interface/web/admin/lib/lang/it_directive_snippets.lng
index e9a473f92ecc562a54c57785cb4a2d3046c60f66..8205305e369f6a96577a39d7f9395fd2821b7f54 100644
--- a/interface/web/admin/lib/lang/it_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/it_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Indicare un nome per lo snippet.';
 $wb['directive_snippets_name_error_unique'] = 'Esiste già una direttiva snippet con questo nome.';
 $wb['variables_txt'] = 'Variabili';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/ja_directive_snippets.lng b/interface/web/admin/lib/lang/ja_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/ja_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/ja_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/pl_directive_snippets.lng b/interface/web/admin/lib/lang/pl_directive_snippets.lng
index abef1e28faa56c89174aef76e87ad10fa53b7b1d..6c55460d5a3eae257ecdcb9ede98c9557bc95ebd 100644
--- a/interface/web/admin/lib/lang/pl_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/pl_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Wybierz nazwÄ™ dla zestawu dyrektyw';
 $wb['directive_snippets_name_error_unique'] = 'Istnieje już zestaw dyrektyw o podanej nazwie';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/pt_directive_snippets.lng b/interface/web/admin/lib/lang/pt_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/pt_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/pt_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/ro_directive_snippets.lng b/interface/web/admin/lib/lang/ro_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/ro_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/ro_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/se_directive_snippets.lng b/interface/web/admin/lib/lang/se_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/se_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/se_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/admin/lib/lang/sk_directive_snippets.lng b/interface/web/admin/lib/lang/sk_directive_snippets.lng
index 071d6f4fed2e32c912693d79f87e31c2e9879090..6e7c1ac3c6ecc7b4f05204636f4adfff496033e4 100644
--- a/interface/web/admin/lib/lang/sk_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/sk_directive_snippets.lng
@@ -8,6 +8,6 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 $wb['customer_viewable_txt'] = 'Customer viewable';
-$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
+$wb['required_php_snippets_txt'] = 'Required PHP Snippet';
 $wb['update_sites_txt'] = 'Update sites using this snippet';
 ?>
diff --git a/interface/web/dashboard/dashlets/databasequota.php b/interface/web/dashboard/dashlets/databasequota.php
index d8c131702f043fff173249df1ce222c22a59f71f..8c5c360c23233306eec121c35445e7232a7762f1 100644
--- a/interface/web/dashboard/dashlets/databasequota.php
+++ b/interface/web/dashboard/dashlets/databasequota.php
@@ -11,6 +11,11 @@ class dashlet_databasequota {
                        return;
                }
 
+		$modules = $_SESSION['s']['user']['modules'];
+		if (!in_array($modules, 'sites')) {
+			return '';
+		}
+
 		$tpl = new tpl;
 		$tpl->newTemplate("dashlets/templates/databasequota.htm");
 
diff --git a/interface/web/dashboard/dashlets/quota.php b/interface/web/dashboard/dashlets/quota.php
index 3fd5adbb85c5843bd51646304cb071f54f1eda33..8179e4ead5f9ebbd7308149dce80f43c9d5f0c0a 100644
--- a/interface/web/dashboard/dashlets/quota.php
+++ b/interface/web/dashboard/dashlets/quota.php
@@ -11,6 +11,11 @@ class dashlet_quota {
 				return;
 		}
 
+		$modules = $_SESSION['s']['user']['modules'];
+		if (!in_array($modules, 'sites')) {
+			return '';
+		}
+
 		$tpl = new tpl;
 		$tpl->newTemplate("dashlets/templates/quota.htm");
 
diff --git a/interface/web/login/lib/lang/pl.lng b/interface/web/login/lib/lang/pl.lng
index 2367ede54d5b222eb2724e109d4984852b9b3c1e..6f177dd29dcb79fccc7ae9e76a8339c694ff9ff9 100644
--- a/interface/web/login/lib/lang/pl.lng
+++ b/interface/web/login/lib/lang/pl.lng
@@ -15,7 +15,7 @@ $wb['error_user_too_many_logins'] = 'Zbyt dużo niepoprawnych logowań. Prosimy
 $wb['username_txt'] = 'Nazwa użytkownika';
 $wb['password_txt'] = 'Hasło';
 $wb['login_button_txt'] = 'Zaloguj';
-$wb['login_txt'] = 'Login';
+$wb['login_txt'] = 'Zaloguj';
 $wb['pw_lost_txt'] = 'Zapomniałem hasła';
 $wb['pw_reset_txt'] = 'Reset hasła';
 $wb['pw_button_txt'] = 'Prześlij hasło ponownie';
diff --git a/interface/web/login/password_reset.php b/interface/web/login/password_reset.php
index 0a15b0c52b0a3da2ea55ee78f80cf7ba18f03955..f14548dd9104b784183d04389ec8c8e39adae5b8 100644
--- a/interface/web/login/password_reset.php
+++ b/interface/web/login/password_reset.php
@@ -126,8 +126,7 @@ if(isset($_POST['username']) && $_POST['username'] != '' && $_POST['email'] != '
 	} elseif ($continue) {
 		if($client['client_id'] > 0) {
 			$server_config_array = $app->getconf->get_global_config();
-			$min_password_length = 8;
-			if(isset($server_config_array['misc']['min_password_length'])) $min_password_length = $server_config_array['misc']['min_password_length'];
+			$min_password_length = $app->auth->get_min_password_length();
 			
 			$new_password = $app->auth->get_random_password($min_password_length, true);
 			$new_password_encrypted = $app->auth->crypt_password($new_password);
diff --git a/interface/web/tools/lib/lang/nl_index.lng b/interface/web/tools/lib/lang/nl_index.lng
index a3ef38f21934a9d02669da2c2722feefc3f64325..6c82e4db99e3bafca20bb24ee7b233c52e927a52 100644
--- a/interface/web/tools/lib/lang/nl_index.lng
+++ b/interface/web/tools/lib/lang/nl_index.lng
@@ -1,4 +1,4 @@
 <?php
 $wb['page_head_txt'] = 'ISPConfig Tools';
-$wb['page_desc_txt'] = 'Change user settings';
+$wb['page_desc_txt'] = 'Gebruikersinstellingen';
 ?>
diff --git a/remoting_client/examples/mail_user_add.php b/remoting_client/examples/mail_user_add.php
index 80a7358cf9d3bb47c8b836954c6aed79eb53e90a..2e9402a8e68f6b98100a4f81827531c832061cba 100644
--- a/remoting_client/examples/mail_user_add.php
+++ b/remoting_client/examples/mail_user_add.php
@@ -43,9 +43,9 @@ try {
 		'disablesmtp' => 'n'
 	);
 
-	$affected_rows = $client->mail_user_add($session_id, $client_id, $params);
+	$mailuser_id = $client->mail_user_add($session_id, $client_id, $params);
 
-	echo "New user: ".$affected_rows."<br>";
+	echo "New user: ".$mailuser_id."<br>";
 
 	if($client->logout($session_id)) {
 		echo 'Logged out.<br />';
diff --git a/remoting_client/readme b/remoting_client/readme
index 1392888bc0e44213c4bde4a0a2cf13523fbfae2e..6e2ef10e6de7f57451712ffed331e5d3418f8adb 100644
--- a/remoting_client/readme
+++ b/remoting_client/readme
@@ -3,12 +3,12 @@
 - Remote API example files
 --------------------------------------------------------
 
-The examples folder contains a example script for every 
-Remote api function. The login details and URL for the
+The examples folder contains an example script for every
+remote api function. The login details and URL for the
 remote connection are defined in the file soap_config.php
 
 --------------------------------------------------------
 - Remote API documentation
 --------------------------------------------------------
 
-The startpage of the API documentation is main.html
+The startpage of the API documentation is API-docs/index.html
diff --git a/server/conf/apache_ispconfig.conf.master b/server/conf/apache_ispconfig.conf.master
index 040de236257467644fa4c644eb422bb4f2eee7ac..8c2292d6a383192fe02ab9665a897c8745dc3bff 100644
--- a/server/conf/apache_ispconfig.conf.master
+++ b/server/conf/apache_ispconfig.conf.master
@@ -15,24 +15,24 @@ CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m
 
 <Directory /var/www/clients>
     AllowOverride None
-  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-  Require all denied
-  <tmpl_else>
-  Order Deny,Allow
-  Deny from all
-  </tmpl_if>
+	<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+	Require all denied
+	<tmpl_else>
+	Order Deny,Allow
+	Deny from all
+	</tmpl_if>
 </Directory>
 
 # Do not allow access to the root file system of the server for security reasons
 <Directory />
-  Options -Indexes
+	Options -Indexes
     AllowOverride None
-  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-  Require all denied
-  <tmpl_else>
-  Order Deny,Allow
-  Deny from all
-  </tmpl_if>
+	<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+	Require all denied
+	<tmpl_else>
+	Order Deny,Allow
+	Deny from all
+	</tmpl_if>
 </Directory>
 
 <Directory /var/www>
@@ -41,103 +41,103 @@ CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m
 
 <Directory /var/www/conf>
     AllowOverride None
-  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-  Require all denied
-  <tmpl_else>
-  Order Deny,Allow
-  Deny from all
-  </tmpl_if>
+	<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+	Require all denied
+	<tmpl_else>
+	Order Deny,Allow
+	Deny from all
+	</tmpl_if>
 </Directory>
 
 # Except of the following directories that contain website scripts
 <Directory /usr/share/phpmyadmin>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 <Directory /usr/share/phpMyAdmin>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 <Directory /srv/www/htdocs>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 <Directory /usr/share/squirrelmail>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 # Allow access to mailman on OpenSuSE
 <Directory /usr/lib/mailman/cgi-bin>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 <Directory /usr/lib/mailman/icons>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 <Directory /var/lib/mailman/archives/>
         Options +FollowSymLinks
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 # allow path to awstats and alias for awstats icons
 <Directory /usr/share/awstats>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
+		</tmpl_if>
 </Directory>
 
 Alias /awstats-icon "/usr/share/awstats/icon"
 
 Alias /.well-known/acme-challenge /usr/local/ispconfig/interface/acme/.well-known/acme-challenge
 <Directory /usr/local/ispconfig/interface/acme/.well-known/acme-challenge>
-    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-    Require all granted
-    <tmpl_else>
+		<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+		Require all granted
+		<tmpl_else>
         Order allow,deny
         Allow from all
-    </tmpl_if>
-	<IfModule mpm_itk_module>
-       AssignUserId <tmpl_var name='system_user'> <tmpl_var name='system_group'>
-    </IfModule>
+		</tmpl_if>
+        <IfModule mpm_itk_module>
+           AssignUserId ispconfig ispconfig
+        </IfModule>
 </Directory>
 
 NameVirtualHost *:80
@@ -145,3 +145,29 @@ NameVirtualHost *:443
 <tmpl_loop name="ip_adresses">
 NameVirtualHost {tmpl_var name="ip_address"}:{tmpl_var name="port"}
 </tmpl_loop>
+
+<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
+<IfModule mod_ssl.c>
+  <tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
+</IfModule>
+</tmpl_if>
+
+<Directory /var/www/php-cgi-scripts>
+  AllowOverride None
+  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+  Require all denied
+  <tmpl_else>
+  Order Deny,Allow
+  Deny from all
+  </tmpl_if>
+</Directory>
+
+<Directory /var/www/php-fcgi-scripts>
+  AllowOverride None
+  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+  Require all denied
+  <tmpl_else>
+  Order Deny,Allow
+  Deny from all
+  </tmpl_if>
+</Directory>
diff --git a/server/conf/mail/db_quota_notification_fr.txt b/server/conf/mail/db_quota_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c48a1a2a9a158de1dfaa9e12af9fdd5050b8609b
--- /dev/null
+++ b/server/conf/mail/db_quota_notification_fr.txt
@@ -0,0 +1,13 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Notification de quota de base de données
+
+La base de données {database_name} a atteint ou est sur le point d'atteindre son quota maximum.
+
+Base de données :		{database_name}
+Espace utilisé :		{used}
+Quota :      			{quota}
+Ratio d'utilisation :	{ratio}
diff --git a/server/conf/mail/db_quota_notification_nl.txt b/server/conf/mail/db_quota_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4706294f74316a393773dd31f2a5753577ed9a98
--- /dev/null
+++ b/server/conf/mail/db_quota_notification_nl.txt
@@ -0,0 +1,13 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Database quota notificatie
+
+De database {database_name} heeft (bijna) het opslaglimiet bereikt.
+
+Database:		{database_name}
+Used space:		{used}
+Quota:			{quota}
+Usage ratio:	{ratio}
diff --git a/server/conf/mail/db_quota_ok_notification_fr.txt b/server/conf/mail/db_quota_ok_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..573e9e9a0b23b65789bebbdf93c1ba0698fc5a08
--- /dev/null
+++ b/server/conf/mail/db_quota_ok_notification_fr.txt
@@ -0,0 +1,13 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Quota de base de données ok
+
+La base de données {database_name} n'est plus à la limite de son quota.
+
+Base de données :   {database_name}
+Espace utilisé :		{used}
+Quota :		        	{quota}
+Ratio d'utilisation :	{ratio}
diff --git a/server/conf/mail/db_quota_ok_notification_nl.txt b/server/conf/mail/db_quota_ok_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b0babbd6cac2b973a8bfb138be1ffe7c73204688
--- /dev/null
+++ b/server/conf/mail/db_quota_ok_notification_nl.txt
@@ -0,0 +1,13 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Database quota ok
+
+De database {database_name} heeft niet meer (bijna) het opslaglimiet bereikt.
+
+Database:		{database_name}
+Used space:		{used}
+Quota:			{quota}
+Usage ratio:	{ratio}
diff --git a/server/conf/mail/mail_quota_notification_fr.txt b/server/conf/mail/mail_quota_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..74d9188f831b523e9a6ca4b7772a4246fb2bc813
--- /dev/null
+++ b/server/conf/mail/mail_quota_notification_fr.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Notification de quota de votre compte email
+
+Le compte email {email} a atteint ou est sur le point d'atteindre son quota maximum.
+
+Compte email :  		{email}
+Nom :				    {name}
+Espace utilisé :		{used}
+Quota :				    {quota}
+Ratio d'utilisation :	{ratio}
diff --git a/server/conf/mail/mail_quota_notification_nl.txt b/server/conf/mail/mail_quota_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3afafa2595d6f6bcf2c3eb381296b53f60a08341
--- /dev/null
+++ b/server/conf/mail/mail_quota_notification_nl.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Mailbox quota notification
+
+De mailbox {email} heeft (bijna) het opslaglimiet bereikt.
+
+Mailbox:			{email}
+Name:				{name}
+Used space:			{used}
+Quota:				{quota}
+Usage ratio:		{ratio}
diff --git a/server/conf/mail/mail_quota_ok_notification_fr.txt b/server/conf/mail/mail_quota_ok_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..44ed789bd82a4b0d562f2d65ab1dae547ab60141
--- /dev/null
+++ b/server/conf/mail/mail_quota_ok_notification_fr.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Quota de votre compte email ok
+
+Le compte email {email} n'est plus à la limite de son quota.
+
+Compte email :	    	{email}
+Nom :				    {name}
+Espace utilisé :		{used}
+Quota :				    {quota}
+Ratio d'utilisation :	{ratio}
diff --git a/server/conf/mail/mail_quota_ok_notification_nl.txt b/server/conf/mail/mail_quota_ok_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9a82a231e01c3dba1ae3632cd47017a484a0df1e
--- /dev/null
+++ b/server/conf/mail/mail_quota_ok_notification_nl.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Mailbox quota ok
+
+De mailbox {email} is niet meer (bijna) vol.
+
+Mailbox:			{email}
+Name:				{name}
+Used space:			{used}
+Quota:				{quota}
+Usage ratio:		{ratio}
diff --git a/server/conf/mail/web_quota_notification_fr.txt b/server/conf/mail/web_quota_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6869424f43f288d7f84828baae7fb298b58cb33
--- /dev/null
+++ b/server/conf/mail/web_quota_notification_fr.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Notification de quota de votre espace web
+
+Le site web {domain} a atteint ou est sur le point d'atteindre son quota maximum.
+
+Domaine : 	       	    {domain}
+Espace utilisé :	    {used}
+Limite souple :         {soft}
+Limite stricte :	    {hard}
+Ratio d'utilisation :	{ratio}
diff --git a/server/conf/mail/web_quota_notification_nl.txt b/server/conf/mail/web_quota_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..740637660bc286bfa2219250d21489561bab2438
--- /dev/null
+++ b/server/conf/mail/web_quota_notification_nl.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Website quota notification
+
+De website {domain} heeft (bijna) het opslaglimiet bereikt.
+
+Domain: 		{domain}
+Used space:		{used}
+Soft limit:		{soft}
+Hard limit:		{hard}
+Usage ratio:	{ratio}
diff --git a/server/conf/mail/web_quota_ok_notification_fr.txt b/server/conf/mail/web_quota_ok_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ee6823de90e2972a96445a8c5e3c0965d998a711
--- /dev/null
+++ b/server/conf/mail/web_quota_ok_notification_fr.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Quota de votre espace web ok
+
+Le site web {domain} n'est plus à la limite de son quota.
+
+Domaine : 	       	    {domain}
+Espace utilisé :	    {used}
+Limite souple :         {soft}
+Limite stricte :	    {hard}
+Ratio d'utilisation :	{ratio}
diff --git a/server/conf/mail/web_quota_ok_notification_nl.txt b/server/conf/mail/web_quota_ok_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..086f3c0f73778bbf66feb7aea26738447920c98e
--- /dev/null
+++ b/server/conf/mail/web_quota_ok_notification_nl.txt
@@ -0,0 +1,14 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Website quota ok
+
+De website {domain} is niet langer (bijna) buiten het opslaglimiet.
+
+Domain: 		{domain}
+Used space:		{used}
+Soft limit:		{soft}
+Hard limit:		{hard}
+Usage ratio:	{ratio}
diff --git a/server/conf/mail/web_traffic_notification_fr.txt b/server/conf/mail/web_traffic_notification_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8318df424a9a3c37659c0f2dfa27734d2ad21f2a
--- /dev/null
+++ b/server/conf/mail/web_traffic_notification_fr.txt
@@ -0,0 +1,8 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Notification de trafic web dépassé - site désactivé
+
+Le site web {domain} a dépassé sa limite de trafic et a été désactivé.
diff --git a/server/conf/mail/web_traffic_notification_nl.txt b/server/conf/mail/web_traffic_notification_nl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..89047b206b707b016a2c9595e2f4be8d5c677447
--- /dev/null
+++ b/server/conf/mail/web_traffic_notification_nl.txt
@@ -0,0 +1,8 @@
+MIME-Version: 1.0
+Content-type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+From: {admin_mail}
+Reply-To: {admin_mail}
+Subject: Webverkeerslimiet bereikt
+
+De website {domain} heeft het verkeerslimiet voor deze maand bereikt en is uitgeschakeld.
diff --git a/server/conf/mail/welcome_email_fr.txt b/server/conf/mail/welcome_email_fr.txt
new file mode 100644
index 0000000000000000000000000000000000000000..beb2b300806b16d2d41483b8f84b1993c1b77dfe
--- /dev/null
+++ b/server/conf/mail/welcome_email_fr.txt
@@ -0,0 +1,4 @@
+From: ISPConfig <postmaster@localhost.localdomain>
+Subject: Bienvenue dans votre nouvelle boîte aux lettres
+
+Votre nouveau compte email est désormais activé. Votre webmaster.