Envio de Email jboss

0 respostas
Scoobydoo

Alguem conhece a rotina de Envio de Email (DataSource) atravez do JBoss ????

Eu achei um Padrão... Talvez seja interessante
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE server>
<server>
<classpath codebase="lib" archives="mail.jar, activation.jar, mail-plugin.jar"/>
<!--======================================================= -->
<!-- Mail Connection Factory -->
<!-- ====================================================== -->
<mbean code="org.jboss.mail.MailService" name="jboss:service=Mail">
<attribute name="JNDIName">java:/Mail</attribute>
<attribute name="Configuration">
<configuration>
<!-- Change to your mail server prototocol -->
<property name="mail.transport.protocol" value="smtp"/>
<!-- Change to the SMTP gateway server -->
<property name="mail.smtp.host" value="expressomx.pr.gov.br"/>
<!-- Enable debugging output from the javamail classes -->
<property name="mail.debug" value="false"/>
</configuration>
</attribute>
</mbean>
</server>
Primeiramente deverá ser desenvolvido o componente para envio de e-mail da aplicação, utilizando para isto a biblioteca JavaMail desenvolvida pela Sun Microsystems. Abaixo o exemplo é apresentado de forma simplificada:
package gov.pr.celepar.consorte.action;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
public class Mail {
public static void enviarEmailSimples(String subject, String to,
String from, String mensagem) throws AddressException,
MessagingException {
enviarEmailSimples(subject, new String[]{to}, from, mensagem);
}
public static void enviarEmailSimples(String subject, String[] to,
String from, String mensagem) throws AddressException,
MessagingException {
Session mailSession = null;
try{
Context initCtx = new InitialContext();
mailSession = (javax.mail.Session)initCtx.lookup("java:/Mail");
} catch (javax.naming.NamingException e) {
e.printStackTrace();
}
InternetAddress[] destinatario = new InternetAddress[to.length];
InternetAddress remetente = new InternetAddress(from);
for (int i=0; i<to.length;i++){
destinatario[i] = new InternetAddress(to[i]);
}
Message message = new MimeMessage(mailSession);
message.setFrom(remetente);
message.setRecipients(Message.RecipientType.TO, destinatario);
message.setSubject(subject);
message.setContent(mensagem.toString(), "text/plain");
Transport.send(message);
}
}
public class Mail {
...
Session mailSession = null;
try{
Context initCtx = new InitialContext();
mailSession = (javax.mail.Session)initCtx.lookup("java:/Mail");
} catch (javax.naming.NamingException e) {
e.printStackTrace();
}
...
}
Criado 29 de janeiro de 2010
Respostas 0
Participantes 1