Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Tuesday, December 11, 2007

java code for Email JNDI Filter

import java.io.IOException;
import java.io.PrintWriter;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import javax.mail.*;
import javax.mail.internet.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class EmailJndiServlet extends HttpServlet {

private Session mailSession;

public void init() throws ServletException {

Context env = null;

try{

env = (Context) new InitialContext();

mailSession = (Session) env.lookup("MyEmail");

if (mailSession == null)
throw new ServletException(
"MyEmail is an unknown JNDI object");

//close the InitialContext
env.close();

} catch (NamingException ne) {

try{ env.close();} catch (NamingException nex) { }

throw new ServletException(ne);

}


}

public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
java.io.IOException {

response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println(
"Email message sender");

String to = request.getParameter("to");

String from = request.getParameter("from");

String subject = request.getParameter("subject");

String emailContent = request.getParameter("emailContent");

try{

sendMessage(to,from,subject,emailContent);

} catch(Exception exc){

throw new ServletException(exc.getMessage());

}


out.println(
"

The message was sent successfully

");

out.println("");
out.close();

} //doPost

public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
java.io.IOException {

doPost(request,response);

}

private void sendMessage(String to, String from,String subject,
String bodyContent) throws Exception {

Message mailMsg = null;

synchronized(mailSession){

mailMsg = new MimeMessage(mailSession);//a new email message
}

InternetAddress[] addresses = null;

try {


if (to != null) {

//throws 'AddressException' if the 'to' email address
//violates RFC822 syntax
addresses = InternetAddress.parse(to, false);

mailMsg.setRecipients(Message.RecipientType.TO, addresses);

} else {

throw new MessagingException(
"The mail message requires a 'To' address.");

}

if (from != null)
mailMsg.setFrom(new InternetAddress(from));

if (subject != null)
mailMsg.setSubject(subject);

if (bodyContent != null)
mailMsg.setText(bodyContent);

//Finally, send the mail message; throws a 'SendFailedException'
//if any of the message's recipients have an invalid adress
Transport.send(mailMsg);

} catch (Exception exc) {

throw exc;
}
}//sendMessage

}//EmailJndiServlet

No comments: