The problem is that the mails are sent without content type. In order to fix that, you need to modify this file: manager/processors/save_user.processor.php
What needs to be tweaked is the function sendMailMessage (from Line 445) in that file.
We need to create the proper headers.
Sending correct headers also reduces the chances those mails get stuck in a spam filter.
The code for the function then looks like this:
// Send an email to the user
function sendMailMessage($email, $uid, $pwd, $ufn) {
global $signupemail_message;
global $emailsubject, $emailsender;
global $site_name, $site_start, $site_url;
$manager_url = $site_url . "manager/";
$message = sprintf($signupemail_message, $uid, $pwd); // use old method
// replace placeholders
$message = str_replace("[+uid+]", $uid, $message);
$message = str_replace("[+pwd+]", $pwd, $message);
$message = str_replace("[+ufn+]", $ufn, $message);
$message = str_replace("[+sname+]", $site_name, $message);
$message = str_replace("[+saddr+]", $emailsender, $message);
$message = str_replace("[+semail+]", $emailsender, $message);
$message = str_replace("[+surl+]", $manager_url, $message);
// create proper headers so non-ascii characters are displayed properly
$headers="From: ".$emailsender."\n"
. "Content-Type: text/plain; charset=utf-8; format=flowed\n"
. "MIME-Version: 1.0\n"
. "Content-Transfer-Encoding: 8bit\n"
. "X-Priority: 3\n"
. "X-Mailer: Content Manager - PHP " .phpversion() . "\n";
if (ini_get('safe_mode') == FALSE) {
if (!mail($email, $emailsubject, $message, $headers, "-f $emailsender")) {
webAlert("Error while sending mail to $mailto");
exit;
}
} elseif (!mail($email, $emailsubject, $message, $headers )) {
webAlert("Error while sending mail to $email");
exit;
}
}
I think the utf-8 charset and complete headers should be used by default for messages sent from the manager, to avoid problems for those using other languages than English, and for not getting trapped in spam filters.