Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Tuesday, December 11, 2007

java code for Mail Accessor

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;

public class MailAccessor extends HttpServlet {

private final static String DEFAULT_SERVER = "mail.attbi.com";

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

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

handleMessages(request, out);

out.println("");
out.close();
} //doGet

private void handleMessages(HttpServletRequest request, PrintWriter out)
throws IOException, ServletException {

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 = MailAccessor.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("

The INBOX folder does not yet contain any email messages.

");

for (int i = 0; i < msgLen; i++) {
displayMessage(messages[i], out);
out.println("

");
}

} catch (Exception exc) {

out
.println("

Sorry, an error occurred while accessing the email messages.

");
out.println(exc.toString());

} finally {
try {
if (folder != null)
folder.close(false);

if (popStore != null)
popStore.close();
} catch (Exception e) {
}
}
}//printMessages

private void displayMessage(Message msg, PrintWriter out)
throws MessagingException, IOException {

if (msg != null && msg.getContent() instanceof String) {

if (msg.getFrom()[0] instanceof InternetAddress) {
out.println("Message received from: "
+ ((InternetAddress) msg.getFrom()[0]).getAddress()
+ "
");
}

out.println("Message content type: " + msg.getContentType()
+ "
");
out.println("Message body content: " + (String) msg.getContent());
} else {

out
.println("

The received email message was not of a text content type.

");

}

}//displayMessage

private boolean check(String value) {

if (value == null || value.equals(""))
return false;

return true;
}
}

No comments: