Atualizando a pendenga:
Não conseguimos de jeito nenhum acertar o problema; naveguei pelo site do jboss e não consigo achar nenhum lugar que tenha referência a problemas com:
1. acentos (que eu não tenha tentado)
2. assunto do email estar indo vazio.
Abri o pacote mail.jar do JBOSS e vi que a versão dele é 1.3.1, enquanto a minha era 1.4; alterei meu pom.xml para pegar a 1.3.1 e mesmo assim o erro persistiu.
Olhando os headers dos emails enviados, reparo que eles não tem cabeçalhos de content-type e similares, mesmo que eu explicitamente os defina. Quando mando por fora do JBOSS, eles aparecem e eu não tenho a menor idéia do que está acontecendo.
Há um ano atrás, trabalhei com um sistema também em JBOSS, só que na versão 3.2 e achei ontem lá em casa a classe que envia email. Apesar de ter diferenças pontuais, eu igualei a minha atual com esta, até o último ponto-e-vírgula, mas também não adiantou nada.
Estou entendendo que os colegas não tenham tido um problema desses antes e portanto não podem me ajudar diretamente, mas estou aceitando dicas de como analisar o problema. Por exemplo, nunca usei o profiler, ele poderia ser útil ?
Agradeço a atenção dos colegas. :)
Dados atuais do problema seguem abaixo:
Classe:
public class SendEmailUtil {
/** Objeto de Log.*/
private static Logger log = Logger.getLogger(SendEmailUtil.class);
/**
* Classe para enviar email de acordo com as configurações contidas no arquivo mail.properties.
* @param subject String
* @param to String
* @param from String
* @param mensagem String
*
* @throws AddressException
* @throws MessagingException
*/
public static void sendSimpleMail(final String assunto, final String to, final String from,
final String mensagem)
throws AddressException, MessagingException {
Session mailSession = null;
try{
Properties mailProps = CarregaPropertiesUtil.carregaProperties("mail");
String username = mailProps.getProperty("username");
String password = mailProps.getProperty("password");
Authenticator auth = new SMTPAuthenticator(username, password);
mailSession = Session.getInstance(mailProps, auth);
InternetAddress destinatario = new InternetAddress(to, to, "UTF-8");
InternetAddress remetente = new InternetAddress(from, from, "UTF-8");
MimeMessage message = new MimeMessage(mailSession);
message.setHeader("MIME-Version", "1.0");
message.setHeader("Content-Type", "text/plain; charset=UTF-8");
message.setHeader("Content-Transfer-Encoding", "quoted-printable");
message.setHeader("Content-Disposition", "inline");
message.addHeader("MIME-Version", "1.0");
message.addHeader("Content-Type", "text/plain; charadd=UTF-8");
message.addHeader("Content-Transfer-Encoding", "quoted-printable");
message.addHeader("Content-Disposition", "inline");
message.setContentLanguage(new String[] {"pt-BR"});
message.setSentDate(new Date());
message.setFrom(remetente);
message.setRecipient(Message.RecipientType.TO, destinatario);
message.setSubject(".oOo." + assunto + ".oOo.", "ISO-8859-1");
message.setContent(".oOo.\n" + mensagem.toString() + "óó´´oóoóóóó´´o´´o" + "/n.oOo.", "text/html; charset=ISO-8859-1");
message.saveChanges();
Transport transport = mailSession.getTransport();
transport.connect(mailProps.getProperty("mail.smtp.host"), username, password);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
} catch (Exception e) {
log.error("ERRO NO EMAIL SENDER: ", e);
}
}
Header do email que chega com acentos quebrados e sem assunto:
From - Fri Aug 08 11:44:51 2008
X-Account-Key: account2
X-UIDL: [telefone removido].971052.10953,1317.email.hst.host.com.br
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-Path: <[email removido]>
Received: from [unix socket] by email.hst.host.com.br (LMTP); Fri, 08 Aug 2008
14:40:01 +0000 (UTC)
X-Terra-Karma: -2%
X-Terra-Hash: cafddb3460df7b729009ba203762eb6d
Received-SPF: none (email.hst.host.com.br: 999.999.999.999 is neither permitted nor
denied by domain of domain.com.br) client-ip=999.999.999.99;
envelope-from=[email removido];
helo=relay02.email.host.com.br;
Received: from relay02.email.host.com.br (relay02.email.host.com.br [999.999.999.99])
by email.hst.host.com.br (Postfix) with ESMTP id BAEEFD3C0E6
for <[email removido]>; Fri, 8 Aug 2008 14:40:01 +0000 (UTC)
Received: from maquina (unknown [999.99.999.999])
(Authenticated sender: [email removido])
by relay02.email.host.com.br (Postfix) with ESMTP id 5940D400A6EC
for <[email removido]>; Fri, 8 Aug 2008 11:40:01 -0300 (BRT)
X-Antivirus: avast! (VPS 080806-0, 06/08/2008), Outbound message
X-Antivirus-Status: Clean
Message-Id: <[email removido]>
Date: Fri, 8 Aug 2008 11:40:01 -0300 (BRT)
From: [email removido]
To: undisclosed-recipients:;
MIME-Version: 1.0
Status: O
X-Antivirus: avast! (VPS 080806-0, 06/08/2008), Inbound message
X-Antivirus-Status: Clean
.oOo.
=F3=
=F3=B4=B4o=F3o=F3=F3=F3=F3=B4=B4o=B4=B4o/n.oOo.
Header do email que chega corretamente (mesma classe, sendo executada como java application, fora do JBOSS):
From - Fri Aug 08 11:44:48 2008
X-Account-Key: account3
X-UIDL: [telefone removido].M130632P25924.mailserver01,S=1300,W=1327
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-Path: <[email removido]>
Delivered-To: [email removido]
Received: from relay01.email.host.com.br (relay01.email.host.com.br [99.9.9.9])
by mailserver01.email.host.com.br (Postfix) with ESMTP id 1C3703800081
for <[email removido]>; Fri, 8 Aug 2008 11:44:35 -0300 (BRT)
Received: from maquina (unknown [999.99.999.999])
(Authenticated sender: [email removido])
by relay01.email.host.com.br (Postfix) with ESMTP id A2B29400A32E
for <[email removido]>; Fri, 8 Aug 2008 11:44:33 -0300 (BRT)
Date: Fri, 8 Aug 2008 11:44:40 -0300 (BRT)
From: "[email removido]" <[email removido]>
To: "[email removido]" <[email removido]>
Message-ID: <4121220.01218206680437.JavaMail.Administrador@maquina>
Subject: =?ISO-8859-1?Q?.oOo.execu=E7=E3o_como_classe_normal,_fora_do_JBOSS!.oOo.?=
MIME-Version: 1.0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Content-Disposition: inline
Content-Language: pt-BR
X-Antivirus: avast! (VPS 080806-0, 06/08/2008), Outbound message
X-Antivirus-Status: Clean
X-Antivirus: avast! (VPS 080806-0, 06/08/2008), Inbound message
X-Antivirus-Status: Clean
.oOo.
Ol=E1, tudo bem?? =E1=E9=F3=ED=FA á=20
OL=C1=F3=F3=B4=B4o=F3o=F3=F3=F3=F3=B4=B4o=B4=B4o/n.oOo.