Envio de Email com API Commons da Apache

A Apache fornece a API Commons-Email com o objetivo de tornar simples para os desenvolvedores Java a tarefa de enviar e-mails com textos puros, em formato HTML e com anexos. Usando como base a API JavaMail da Sun, são fornecidas as seguintes classes:

SimpleEmail – Classe usada para enviar e-mails de texto simples. Não permite anexos.

HtmlEmail – Classe usada para enviar emails formatados como HTML. Permite arquivos no corpo ou anexados.

MultiPartEmail – Classe usada enviar mensagens multipart. Permite arquivos no corpo ou anexados.

EmailAttachment – Classe usada para criar os anexos de uma mensagem. Utilizada com instâncias de HtmlEmail ou MultiPartEmail.

EmailException – Exceção gerada em caso de algum erro no envio de mensagem.

Para demonstrar a utilização da API, implementei uma aplicação que envia email com arquivo pdf anexado de uma conta do yahoo para uma conta do gmail.

Continuar lendo

Ordenação de Strings com Acento

Ao tentar ordenar um ArrayList de objetos por um campo do tipo String, percebi que os textos acentuados não eram corretamente ordenados. A explicação para este fato é o seguinte: na linguagem Java, a ordenação de um texto varia de acordo com o Locale (idioma).

Como o default do Locale é o idioma inglês, onde quase nenhum caractere acentuado existe, as letras acentuadas não são equiparados às respectivas letras sem acento. Desta maneira, como caracteres acentuados têm códigos numéricos superiores aos sem acento, acabam indo parar no final da listagem ordenada.

Para demonstrar a solução deste problema, segue abaixo código fonte que ordena listagem de clientes pelo nome.

Continuar lendo