Setar UTF 8 em email com JavaMail

Fala galera! Venho aqui tirar uma dúvida de muita gente que utiliza o javamail para envio de email em java.


Muitos não sabem mas, ao enviar email, é necessário uma pequena configuração para que não ocorra um pequeno erro que aconteceu comigo. Este erro acontece quando inserimos caracteres especiais em nosso texto, ou, caracteres com acentos. 


Quando você escreve um documento HTML (ou qualquer outra linguagem baseada em SGML) é necessário que especifiquemos o Charset utilizado. O Charset é o conjunto de caracteres utilizados para escrever o documento. Um jogo de caracteres consiste em ter 1) repertório com caracteres e 2) uma posição de referência para cada um dos caracteres no repertório. Cada caractere é identificado e localizado por este código de posição. Por exemplo, na tabela ASCII, as posições 65, 66 e 67 se referem às letras A, B e C respectivamente. 


Veja mais em Aprenda o que são charsets


para fazer isso, na linha que você passa como parâmetro o assunto de sua mensagem (pode ser qualquer outro campo), você coloca desta forma:



mail.setSubject(new String(subject.getBytes("utf-8"), "utf-8"));
Onde subject é a String que estas passando.
É isso! simples assim...
Abraços!Bruno Rafael.

Comentários

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular