<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Hello everyone<br><br>I have a module that sends text/html emails using the function drupal_mail().<br>Everything was working fine until I needed to send them in German, instead of English.<br><br>I changed the email's content type header to "text/html; charset=utf-8", but the email is always sent as "text/html; charset=iso-8859-1", and the German characters are not properly shown.<br><br>I tried to send it to several different mail servers (yahoo, hotmail, and others), and the result was the same.<br>Intriguingly, when I change the content type to "text/plain; charset=utf-8", the charset is kept UTF-8, as I want, and the characters are properly shown. This problem only happens when the content type is "text/html".<br><br>I also tried to set the content type header within the html code to "text/plain; charset=utf-8" too, but the problem persisted.<br><br>It seems like Drupal is changing the charset to iso-8859-1.<br><br>Does anyone have any idea of what is causing this problem?<br><br>Cheers<br><br>Diego<br><br>This is my code:<br><br>...<br><br>$language = user_preferred_language();<br><br>$params = array(<br>&nbsp; 'subject' =&gt; t('Test'),<br>&nbsp; 'body' =&gt; t($message, $variables, $language-&gt;language)<br>);<br><br>drupal_mail('notification', 'notice', $email, $language, $params);<br><br>...<br><br>function notification_mail($key, &amp;$message, $params) {<br><br>&nbsp; $message['headers']['Content-Type'] = "text/html; charset=utf-8";<br>&nbsp; $message['subject'] = $params['subject'];<br>&nbsp; $message['body'][] = $params['body'];<br>}<br><br>                                               </body>
</html>