« Commando -Dfile.encoding para JNPL | Home | Failed to lazily initialize a collection of role [EJB] »
Enviar email via EJB
de raydacosta | Segunda, 6 de Outubro de 2008
import java.util.Date;
import javax.ejb.EJBException;
import javax.ejb.Local;
import javax.naming.InitialContext;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
import javax.mail.Transport;
import javax.mail.Address;
import javax.mail.Message;
import javax.naming.Context;
import javax.naming.NamingException;
@Stateless(name="EMailBeanBean")
@Local(value=EMailBeanLocal.class)
public class EMailBeanBean implements EMailBeanLocal {
private Context ctx;
private void initContext() throws NamingException {
ctx = new InitialContext();
}
public int sendMail(String email, String txt) {
int cont = 0;
Session session = null;
try {
Object obj = null;
if(ctx == null){
initContext();
}
obj = ctx.lookup("mail/MailSession");
session = (Session) obj;
if(session != null){
PesquisaLog.addLog("SESSAO DE EMAIL ACIONADO E OPERANDO");
}
} catch (Exception e) {
PesquisaLog.addLog("ERROR AO ABRIR SESSAO DE EMAIL: "+e.toString());
throw new EJBException("ERROR NO LOCATOAR: "+e.getMessage());
}
try {
MimeMessage m = new MimeMessage(session);
m.setFrom(new InternetAddress("teste@teste.com.br"));
Address[] to = new InternetAddress[] {new InternetAddress(email)};
m.setRecipients(Message.RecipientType.TO, to);
m.setSubject("[Teste] Nova senha solicitada");
m.setSentDate(new Date());
m.setContent(txt,"text/html;charset=UTF-8");
Transport.send(m);
cont = 1;
} catch (javax.mail.MessagingException e) {
e.printStackTrace();
}
return cont;
}
}
Categorias: J2EE | | Enviar por e-mail | Hits para esta publicação: 105





