You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Marot Laurent <la...@alliacom.com> on 2001/04/26 12:58:24 UTC

Please Help on Java Mail / tomcat

I'm trying to get the content of an e-mail box on a pop3 server. 

Everything run all right with Jrun but doesn't with Tomcat 3.2

Could somenone explain ???

thanks 

<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<HTML>
<HEAD>
<link href="style.css" rel="stylesheet" type="text/css">
<TITLE>Boite aux lettres</TITLE>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
</HEAD>
<BODY bgColor=#008080>
<% String log1="", pwd1="", bl1="", opt1="",dest1="",
exp1="",dat1="",suj1="",con1="", chaine="", tempo="";
char ch;
int fi=0;
if (request.getParameter("log")!=null) log1=request.getParameter("log");
if (request.getParameter("pwd")!=null) pwd1=request.getParameter("pwd");
if (request.getParameter("nb")!=null) bl1=request.getParameter("nb");
if (request.getParameter("des")!=null)
dest1=request.getParameter("des");
if (request.getParameter("exp")!=null) exp1=request.getParameter("exp");
if (request.getParameter("opt")!=null) opt1=request.getParameter("opt");
if (request.getParameter("dat")!=null) dat1=request.getParameter("dat");
if (request.getParameter("suj")!=null) suj1=request.getParameter("suj");
if (request.getParameter("con")!=null) con1=request.getParameter("con");
%>
<table width=75% cellpadding=0 celspacing=0>
  <% String host = "XXX",username = "ZZZ/"+log1+"/"+bl1, password =
pwd1, provider = "pop3";
  Properties props = new Properties(); 
  Session mailSession = Session.getDefaultInstance(props, null);
  Store store = mailSession.getStore(provider);
  store.connect(host, username, password);
  Folder inbox = store.getFolder("INBOX");
  if (inbox == null) {
   out.println("No INBOX");
   System.exit(1);
  }
  inbox.open(Folder.READ_ONLY);
  Message[] messages = inbox.getMessages();
  for (int i = 0; i < messages.length; i++) {
   out.println("<TR><TD class=txt <BR><b>");
   out.println("<img src=arrow_news.gif border=0>&nbsp;Message " +
(i+1));
   out.println("</b><BR></TD></TR><TR><TD class=smtxt>");
   if (dest1.equals("on")){
    Address[] from = messages[i].getFrom();
    if (from != null) {
     for (int j = 0; j < from.length; j++) {
      out.println("<B>De :</b> " + "<a href=FormMail.htm>" + from[j] +
"</a>");
      out.println("<BR>");
     }
    }
   }
   if (dest1.equals("on")){
      Address[] to =
messages[i].getRecipients(Message.RecipientType.TO);
      if (to != null) {
        for (int j = 0; j < to.length; j++) {
         out.println("<b>A :</b> " + to[j]);
         out.println("<BR>");      
        }
      }
   } 
   if (suj1.equals("on")){
        String subject = messages[i].getSubject();
        if (subject != null) {
        out.println("<B>Sujet:</b> " + subject);
        out.println("<BR>"); 
        }
   }
   if (dat1.equals("on")){
        Date d = messages[i].getSentDate();
        if (d != null) {
         out.println("<b>Date:</b> " + d);
         out.println("<BR>");
        }
   }
        out.println();
    %>
    </td></tr><tr><td class=smtxt><font size="-1">   
	 <% if (con1.equals("on")) {
	tempo="cnt"+String.valueOf(i)+".txt";
 	FileWriter letters = new FileWriter(tempo);
        Object content = messages[i].getContent();
        if (content instanceof String) {
	chaine=(String)content;
        out.println(content);
	for (int j = 0; j < chaine.length(); j++) {
           ch=chaine.charAt(j);
	   letters.write(ch);
        }
        }
       else if (content instanceof InputStream) {
         InputStream in = (InputStream) content;
         int c;
        while ((c = in.read()) != -1) out.write(c);
	 letters.write((char)c);
         }
         else {
         System.out.println("Type de contenu non reconnu");   
        }
       letters.close();   
       out.println("<BR><bR>");   
       } %>
</font>
	<% }
       inbox.close(false);
       store.close();
 %>
</td></tr></table>
</BODY>
<HTML>