diff --git a/server/conf/mail/welcome_email_de.txt b/server/conf/mail/welcome_email_de.txt index 2327209acef50c0363402c64101874acf7c1c3d0..d28e9ac2430d510eea1a0c44f785e0db62b55fee 100644 --- a/server/conf/mail/welcome_email_de.txt +++ b/server/conf/mail/welcome_email_de.txt @@ -1,4 +1,4 @@ -From: ISPConfig <postmaster@localhost.localdomain> +From: {admin_name} <{admin_mail}> Subject: Ihr Mailaccount ist aktiv. -Ihr Mailaccount ist jetzt aktiv. Viel Vergnügen. \ No newline at end of file +Ihr Mailaccount ist jetzt aktiv. Viel Vergnügen. diff --git a/server/conf/mail/welcome_email_en.txt b/server/conf/mail/welcome_email_en.txt index 9689485606a36a69212de7005b5978b87df9031f..485227c0f3b95ef14cfd6bfe46e75d9e666f455e 100644 --- a/server/conf/mail/welcome_email_en.txt +++ b/server/conf/mail/welcome_email_en.txt @@ -1,4 +1,4 @@ -From: ISPConfig <postmaster@localhost.localdomain> +From: {admin_name} <{admin_mail}> Subject: Welcome to your new email account. -Welcome to your new email account. Your webmaster. \ No newline at end of file +Welcome to your new email account. Your webmaster. diff --git a/server/conf/mail/welcome_email_es.txt b/server/conf/mail/welcome_email_es.txt index ede0ea5120825ecd9a94e91d6a5b25030c2ee148..9ead0568f3a130448e7db028a85449167f8f338c 100644 --- a/server/conf/mail/welcome_email_es.txt +++ b/server/conf/mail/welcome_email_es.txt @@ -1,4 +1,4 @@ -From: ISPConfig <postmaster@localhost.localdomain> +From: {admin_name} <{admin_mail}> Subject: Bienvenido a su nueva cuenta de correo Bienvenido a su nueva cuenta de correo. Su administrador. diff --git a/server/conf/mail/welcome_email_fr.txt b/server/conf/mail/welcome_email_fr.txt index beb2b300806b16d2d41483b8f84b1993c1b77dfe..d1750068696373985c8c6e6f9f02cb6d98e245d5 100644 --- a/server/conf/mail/welcome_email_fr.txt +++ b/server/conf/mail/welcome_email_fr.txt @@ -1,4 +1,4 @@ -From: ISPConfig <postmaster@localhost.localdomain> +From: {admin_name} <{admin_mail}> Subject: Bienvenue dans votre nouvelle boîte aux lettres Votre nouveau compte email est désormais activé. Votre webmaster. diff --git a/server/conf/mail/welcome_email_hr.txt b/server/conf/mail/welcome_email_hr.txt index 3c45f5ac0b65d86cc76d8eb0e3e811ff3e761c1d..f288c480f092d9cce84cb7e1f021b39fbf3c266b 100644 --- a/server/conf/mail/welcome_email_hr.txt +++ b/server/conf/mail/welcome_email_hr.txt @@ -1,4 +1,4 @@ -From: ISPConfig <postmaster@localhost.localdomain> +From: {admin_name} <{admin_mail}> Subject: DobrodoÅ¡li u vaÅ¡ novi email raÄun. -DobrodoÅ¡li u vaÅ¡ novi email raÄun. VaÅ¡ webmajstor. \ No newline at end of file +DobrodoÅ¡li u vaÅ¡ novi email raÄun. VaÅ¡ webmajstor. diff --git a/server/conf/mail/welcome_email_nl.txt b/server/conf/mail/welcome_email_nl.txt index cd4baf4815aa92e57772cf12b586b9664e01eacc..2fce985968e927dc281d7f5d64d74ff61ed51855 100644 --- a/server/conf/mail/welcome_email_nl.txt +++ b/server/conf/mail/welcome_email_nl.txt @@ -1,4 +1,4 @@ -From: ISPConfig <postmaster@localhost.localdomain> +From: {admin_name} <{admin_mail}> Subject: Welkom in uw nieuwe account. Welkom in uw nieuwe email account. Uw webmaster. diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php index 4d5ac826d3780f4d264f07c0060a9f0ffe13bd56..fb00166021662088ddbb3697a79dc760e596e4f7 100644 --- a/server/plugins-available/mail_plugin.inc.php +++ b/server/plugins-available/mail_plugin.inc.php @@ -82,6 +82,7 @@ class mail_plugin { //* get the config $app->uses('getconf,system'); $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); + $global_mail_config = $app->getconf->get_global_config('mail'); // convert to lower case - it could cause problems if some directory above has upper case name // $data['new']['maildir'] = strtolower($data['new']['maildir']); @@ -218,20 +219,30 @@ class mail_plugin { $lines = file($conf['rootpath'].'/conf/mail/welcome_email_en.txt'); } + $placeholders = array( + '{domain}' => "$domain", + '{email}' => $data["new"]["email"], + '{admin_mail}' => ($global_mail_config['admin_mail'] != '' ? $global_mail_config['admin_mail'] : 'root'), + '{admin_name}' => ($global_mail_config['admin_name'] != '' ? $global_mail_config['admin_name'] : ''), + ); + //* Get from address $parts = explode(':', trim($lines[0])); unset($parts[0]); $welcome_mail_from = implode(':', $parts); unset($lines[0]); + $welcome_mail_from = strtr($welcome_mail_from, $placeholders); //* Get subject $parts = explode(':', trim($lines[1])); unset($parts[0]); $welcome_mail_subject = implode(':', $parts); unset($lines[1]); + $welcome_mail_subject = strtr($welcome_mail_subject, $placeholders); //* Get message $welcome_mail_message = trim(implode($lines)); + $welcome_mail_message = strtr($welcome_mail_message, $placeholders); unset($tmp); $mailHeaders = "MIME-Version: 1.0" . "\n"; @@ -247,8 +258,14 @@ class mail_plugin { $mailTarget = $data["new"]["email"]; $mailSubject = "=?utf-8?B?".base64_encode($welcome_mail_subject)."?="; - //* Send the welcome email only on the "master" mail server to avoid duplicate emails - if($conf['mirror_server_id'] == 0) mail($mailTarget, $mailSubject, $welcome_mail_message, $mailHeaders); + $additionalParameters = ''; + if (preg_match('/\b([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,63})\b/i', $welcome_mail_from, $matches)) { + $additionalParameters = '-f '.$matches[1]; + } + + // Send the welcome email only on a "master" mail server to avoid duplicate emails + // (bypass the normal ispcmail class when creating mail accounts) + if($conf['mirror_server_id'] == 0) mail($mailTarget, $mailSubject, $welcome_mail_message, $mailHeaders, $additionalParameters); }