Setando o encoding no envio de e-mail por PHP

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>");
?>