/**
 * Codifica um assunto de e-mail
 * @param string $subject Assunto a ser codificado
 * @param string $charset Nome do charset
 * @return string
 */
function encode_subject($subject, $charset) {

    // Utiliza codificacao quoted-printed (Q)
    if (function_exists('quoted_printable_encode')) {
        $subject = quoted_printable_encode($subject);
        return '=?'.$charset.'?Q?'.$subject.'?=';

    } elseif (function_exists('imap_8bit')) {
        $subject = imap_8bit($subject);
        return '=?'.$charset.'?Q?'.$subject.'?=';

    // Utiliza a codificacao base64 (B)
    } else {
        $subject = base64_encode($subject);
        return '=?'.$charset.'?B?'.$subject.'?=';
    }
}