Método getSubject - JAVAMAIL

Pessoal…

Estou retornando o método getSubject para dentro de uma String, porém, quando o campo assunto do e-mail possui encoding ISO-8859-1 ele traz exatamente o assunto no formato :

Previdiso-8859-1ncia Privada - Início de Miso-8859-1.

Como faço pra converter esse texto em :

Previdência Privada - Início Mês

Gravando assim de forma correta no arquivo texto ?

Grato…

A codificação correta desse título em ISO-8859-1 seria algo parecido com:

=?iso-8859-1?Q?Evento_Sun_Microsystems_-_Ainda_d=E1_tempo=2E_Participe=21?=

onde a mensagem começa por “=?”, é usado um “?Q?” (Quoted Printable) ou um “?B?” (Base-64) para indicar a codificação. No caso de ?Q?, cada letra acentuada é substituída pelo seu código hexadecimal, precedido por “=”. Exemplo: “á” --> “=E1”

A aplicação que está enviando os emails está codificando incorretamente o título. Então não tem como você trocar “ISO-8859-1” pelos acentos (cadê a informação das letras acentuadas?). Se o título for corretamente codificado, o próprio JavaMail consegue decifrar o código para você.

Solução Encontrada :

String[] assunto = message.getHeader(“Subject”);
System.out.println(MimeUtility.decodeText(assunto[0]));

E pronto, o campo Subject vem de forma correta !

Abs…

[quote=leandroeschiavi]Solução Encontrada :

String[] assunto = message.getHeader(“Subject”);
System.out.println(MimeUtility.decodeText(assunto[0]));

E pronto, o campo Subject vem de forma correta !

Abs…[/quote]

Vlw kra, me ajudou mto…tava no cliente e não sabia pra onde correr, abração…fuiz!!!