View Single Post
  #1 (permalink)  
Old 07-30-2007, 06:15 PM
consult4u consult4u is offline
Member
 
Join Date: Jul 2007
Posts: 4
consult4u is on a distinguished road
Access Email usind a java mail client Access Email usind a java mail client
Hello,
I am trying to use this sample code below to access my mail keep gene rating errors..

Can anyone help me if there is any problem with the code....It says all the packages does not exist and could not find symbol class messge, class store and so on...

Code:
package com.devx.jmail; import javax.mail.*; import javax.mail.internet.*; import java.util.*; import java.io.*; import net.sf.classifier4J.*; import net.sf.classifier4J.bayesian.*; import net.sf.classifier4J.summariser.*; public class MailReader { public static void main(String[] args) { try { String popServer="any"; String popUser="any"; String popPassword="any"; GetMail(popServer, popUser, popPassword); } catch (Exception e) { e.printStackTrace(); } System.exit(0); } public static void GetMail(String popServer, String popUser, String popPassword) { Store store=null; Folder folder=null; String strEmail = ""; double dSpamScore = 0.0; try { Properties props = System.getProperties(); Session session = Session.getDefaultInstance(props, null); store = session.getStore("pop3"); store.connect(popServer, popUser, popPassword); folder = store.getDefaultFolder(); if (folder == null) throw new Exception("No default folder"); folder = folder.getFolder("INBOX"); if (folder == null) throw new Exception("No POP3 INBOX"); folder.open(Folder.READ_ONLY); Message[] msgs = folder.getMessages(); for (int nMsg = 0; nMsg < msgs.length; nMsg++) { strEmail = buildMessage(msgs[nMsg]); String strSumm = getSummary(strEmail,3); System.out.println(strSumm); dSpamScore = checkSpam(strEmail); //dSpamScore = checkSpamWithBayes(strEmail); if(dSpamScore > 0.7) { System.out.println("--------------------------"); System.out.println("SPAM DETECTED:"); System.out.println("--------------------------"); System.out.println(strEmail); System.out.println("--------------------------"); } } } catch (Exception e) { e.printStackTrace(); } finally { try { if (folder!=null) folder.close(false); if (store!=null) store.close(); } catch (Exception e2) { e2.printStackTrace(); } } } public static String buildMessage(Message message) { String strReturn = ""; try { String from=((InternetAddress)message.getFrom()[0]).getPersonal(); if (from==null) from=((InternetAddress)message.getFrom()[0]).getAddress(); strReturn += "FROM: " + from; String subject=message.getSubject(); strReturn += "SUBJECT: "+subject; Part messagePart=message; Object content=messagePart.getContent(); if (content instanceof Multipart) { messagePart=((Multipart)content).getBodyPart(0); strReturn += "[ Multipart Message ]"; } String contentType=messagePart.getContentType(); strReturn += "CONTENT:"+contentType; if (contentType.startsWith("text/plain")|| contentType.startsWith("text/html")) { InputStream is = messagePart.getInputStream(); BufferedReader reader=new BufferedReader(new InputStreamReader(is)); String thisLine=reader.readLine(); while (thisLine!=null) { strReturn +=thisLine; thisLine=reader.readLine(); } } } catch (Exception ex) { ex.printStackTrace(); } return strReturn; } public static double checkSpam(String strEmailBody) { double dClassification = 0.0; try { SimpleClassifier classifier = new SimpleClassifier(); classifier.setSearchWord( "activity" ); dClassification = classifier.classify(strEmailBody); } catch(Exception e) { e.printStackTrace(); } return dClassification; } public static double checkSpamWithBayes(String strEmailBody) { double dReturn = 0.0; try { IWordsDataSource wds = new SimpleWordsDataSource(); wds.addMatch("activity"); wds.addMatch("transactions"); wds.addMatch("Devx"); IClassifier classifier = new BayesianClassifier(wds); dReturn = classifier.classify(strEmailBody); } catch(Exception e) { e.printStackTrace(); } return dReturn; } public static String getSummary(String strEmailBody, int nSentences) { ISummariser summ = new SimpleSummariser(); String strSumm = summ.summarise(strEmailBody,nSentences); return strSumm; } }
Also, in what way can I group the emails based on users activities not folder using the code above and also summarrised each mails.

Please put me through.

Thanks alot.

Last edited by levent : 07-30-2007 at 08:20 PM. Reason: Code placed inside [code] tags.
Reply With Quote
Sponsored Links