Tenho uma rotina de envio de email em Java no banco de dados, que por algum motivo obscuro não funciona em um servidor (11g, JVM 1.5). A classe funciona perfeitamente em outros clientes com banco de dados 10g (JVM 1.4). Alguém passou por isso? É um bug da versão da JVM?
Session xsess = Session.getDefaultInstance(xprop, null);
Message xmsg = new MimeMessage(xsess);
/*gerando msg*/
xmsg.setRecipient(Message.RecipientType.TO, new InternetAddress("to@to.email"));
xmsg.setHeader("User-Agent", "HEADER");
xmsg.setFrom(new InternetAddress("from@from.email"));
xmsg.setSubject("ASSUNTO");
/********************************************************/
// Tentando enviar dessa forma, o corpo do email sempre é nulo.
/*cria a Multipart*/
Multipart mp = new MimeMultipart();
/*cria a primeira parte da mensagem (corpo)*/
BodyPart mbpBody = new MimeBodyPart();
mbpBody.setText("Fazendo dessa forma não funciona !!!");
mp.addBodyPart(mbpBody);
/*adiciona a Multipart na mensagem*/
xmsg.setContent(mp);
/********************************************************/
// O envio é feito corretamente se adiciono a mensagem diretamente ao objeto
//xmsg.setText("Fazendo dessa forma funciona !!!");
/********************************************************/
xmsg.saveChanges();
Transport xtr;
xtr = xsess.getTransport("smtp");
xtr.connect(urlServer, username, password);
xtr.sendMessage(xmsg, xmsg.getAllRecipients());
xtr.close();