Methods Summary |
---|
private boolean | check(java.lang.String value)
if(value == null || value.equals(""))
return false;
return true;
|
private void | displayMessage(Message msg, java.io.PrintWriter out)
if (msg != null && msg.getContent() instanceof String){
if (msg.getFrom()[0] instanceof InternetAddress){
out.println("Message received from: " + ((InternetAddress)msg.getFrom()[0]).getAddress() +"<br />");
}
out.println("Message content type: " + msg.getContentType() +"<br />");
out.println("Message body content: " + (String) msg.getContent());
//Headers
out.println("<ul>");
Header head = null;
Enumeration headers = msg.getAllHeaders();
while ( headers.hasMoreElements() ){
head = (Header) headers.nextElement();
out.println("<li>" + head.getName() + ": " + head.getValue()+ "</li>");
}
out.println("</ul>");
} else{
out.println("<h2>The received email message was not of a text content type.</h2>");
}
|
public void | doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println("<html><head><title>Email Reader</title></head><body>");
handleMessages(request, out);
out.println("</body></html>");
out.close();
|
private void | handleMessages(javax.servlet.http.HttpServletRequest request, java.io.PrintWriter out)
HttpSession httpSession = request.getSession();
String user = (String) httpSession.getAttribute("user");
String password = (String) httpSession.getAttribute("pass");
String popAddr = (String) httpSession.getAttribute("pop");
Store popStore = null;
Folder folder = null;
if (! check(popAddr))
popAddr = HeaderAccessor.DEFAULT_SERVER;
try {
if ((! check(user)) || (! check(password)))
throw new ServletException("A valid username and password is required to check email.");
Properties properties = System.getProperties();
Session session = Session.getDefaultInstance(properties);
popStore = session.getStore("pop3");
popStore.connect(popAddr, user, password);
folder = popStore.getFolder("INBOX");
if (! folder.exists())
throw new ServletException("An 'INBOX' folder does not exist for the user.");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
int msgLen = messages.length;
if (msgLen == 0)
out.println("<h2>The INBOX folder does not yet contain any email messages.</h2>");
for (int i = 0; i < msgLen; i++){
displayMessage(messages[i], out);
out.println("<br /><br />");
}
} catch (Exception exc) {
out.println("<h2>Sorry, an error occurred while accessing the email messages.</h2>");
out.println(exc.toString());
} finally {
try{
if (folder != null)
folder.close(false);
if (popStore != null)
popStore.close();
} catch (Exception e) { }
}
|