Results 1 to 3 of 3
  1. #1
    consult4u is offline Member
    Join Date
    Jul 2007
    Posts
    4
    Rep Power
    0

    Default 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...

    Java 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 07:20 PM. Reason: Code placed inside [code] tags.

  2. #2
    levent Guest

    Default

    You should download Java Mail library and put its jar files into your classpath. Java Mail API is not included in Java Standard Library!

    By the way, next time please place your code inside [code] tags with proper indentation. That will be easier to read and follow.

  3. #3
    consult4u is offline Member
    Join Date
    Jul 2007
    Posts
    4
    Rep Power
    0

    Default

    I have set the CLASSPATH to:

    set CLASSPATH=&#37;CLASSPATH%;c:\download\javamail-1.4\mail.jar; and also
    set CLASSPATH=%CLASSPATH%;c:\download\activation\activ ation.jar

    But these are the errors again:




    C:\CODES\javamail-1.4\demo>javac MailReader.java
    MailReader.java:2: package javax.mail does not exist
    import javax.mail.*;
    ^
    MailReader.java:3: package javax.mail.internet does not exist
    import javax.mail.internet.*;
    ^
    MailReader.java:6: package net.sf.classifier4J does not exist
    import net.sf.classifier4J.*;
    ^
    MailReader.java:7: package net.sf.classifier4J.bayesian does not exist
    import net.sf.classifier4J.bayesian.*;
    ^
    MailReader.java:8: package net.sf.classifier4J.summariser does not exist
    import net.sf.classifier4J.summariser.*;
    ^
    MailReader.java:78: cannot find symbol
    symbol : class Message
    location: class com.devx.jmail.MailReader
    public static String buildMessage(Message message)
    ^
    MailReader.java:28: cannot find symbol
    symbol : class Store
    location: class com.devx.jmail.MailReader
    Store store=null;
    ^
    MailReader.java:29: cannot find symbol
    symbol : class Folder
    location: class com.devx.jmail.MailReader
    Folder folder=null;
    ^
    MailReader.java:35: cannot find symbol
    symbol : class Session
    location: class com.devx.jmail.MailReader
    Session session = Session.getDefaultInstance(props, null);

    So, what else do I need to do or set..........

Similar Threads

  1. a problem about java mail client program
    By lunarstyle in forum AWT / Swing
    Replies: 9
    Last Post: 12-19-2009, 04:14 PM
  2. A Client to Send SMTP Mail
    By Java Tip in forum java.net
    Replies: 0
    Last Post: 04-07-2008, 08:06 PM
  3. Retreiving of mail body using mail number
    By chandu.v09 in forum JavaServer Pages (JSP) and JSTL
    Replies: 0
    Last Post: 03-13-2008, 02:25 PM
  4. Replies: 0
    Last Post: 11-13-2007, 10:13 AM
  5. Sending a mail with the local mail program
    By thedude in forum Advanced Java
    Replies: 2
    Last Post: 07-23-2007, 12:19 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •