Quando se usa a função mail() do PHP, erros nos caracteres especiais – por exemplo, caracteres acentuados – podem aparecer no cliente – ou o webmail ou o software – que visualiza a mensagem.
A maneira mais simples de não passar por esse problema é usando o charset UTF-8. Esse charset é um dos que abrange a maioria dos caracteres usados.
A aplicação é simples: devse setar o charset UTF-8 no quarto parâmetro da função, que são os headers enviados para ela.
<?php
$recipient = "[email protected]"; //recipient
$html = "<html><body>Teste</body></html>";
$subject = "assunto";
$header = "Content-type: text/html; charset=UTF-8 ";
mail($recipient, $subject, $html, $header) or die("<p>Erro ao enviar a sua mensagem. Tente novamente, por favor.</p>"); //mail command 🙂
echo("<p>Sua mensagem foi enviada com sucesso.</p>");
?>