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!!!