Laman Utama Tanya Wiki English Artikel Komuniti E-Mel Ringtones Search

Bantuan | Carian | Ahli | Kalendar

Google

Selamat Datang ( Log In | Daftar )

 
Reply to this topicStart new topic
Javamail Pasal
sepetLucky
post Jun 25 2008, 07:15 PM
Kiriman #1


Ahli Baru


Grup: Learning
Kiriman: 1
Penyertaan: 25-June 08
Ahli ke- 49,368



Siapa tahu guna API JAVAMAIl?

I ader guna JAVAMAIL ni...

Boleh send email....

Tapi code dier untuk receive problem sikit

Ia tahu detect mail yang baru dapat dan tidak masuk dalam Outlook.

Kalau kiter tekan button send/receive (syn) mail tu masuk. Kalau mail tu masuk , I tak boleh baca lagi mail itu.

CODE
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;
/**
  * A simple email receiver class.
  */
public class SimpleReceiver
{
  /**
    * Main method to receive messages from the mail server specified
    * as command line arguments.
    */
  public static void main(String args[])
  {
    try
    {
      String popServer="mail.gmail.my"; // tolong tukar yang sepatutnya
      String popUser="sepetLucky@gmail.com"; // tolong tukar yang sepatutnya
      String popPassword="passwd"; // tolong tukar yang sepatutnya
      receive(popServer, popUser, popPassword);
    }
    catch (Exception ex)
    {
      System.out.println("Usage: java com.lotontech.mail.SimpleReceiver"
       +" popServer popUser popPassword");
    }
    System.exit(0);
  }

/**
    * "receive" method to fetch messages and process them.
    */
  public static void receive(String popServer, String popUser
   , String popPassword)
  {
    Store store=null;
    Folder folder=null;
    try
    {
    
      // -- Get hold of the default session --
      Properties props = System.getProperties();
      Session session = Session.getDefaultInstance(props, null);
      // -- Get hold of a POP3 message store, and connect to it --
      store = session.getStore("pop3");
      store.connect(popServer, popUser, popPassword);
      
      // -- Try to get hold of the default folder --
      folder = store.getDefaultFolder();
      if (folder == null) throw new Exception("No default folder");
      
      // -- ...and its INBOX --
      for(Folder f: folder.list())
      System.out.println(f.getName());
      folder = folder.getFolder("INBOX");
      System.out.println("Exist?" +folder.exists() );
      if (folder == null) throw new Exception("No POP3 INBOX");
      // -- Open the folder for read only --
      folder.open(Folder.READ_ONLY);
      System.out.println("Number of Message:"+folder.getMessageCount());
      
       for (Folder t : store.getPersonalNamespaces() )
          System.out.println("Name:"+ t.getName());

      // -- Get the message wrappers and process them --
      Message[] msgs = folder.getMessages();
     System.out.println("Message: "+ msgs.length +"\nMessage count"+ folder.getMessageCount());
    
      for (int msgNum = 0; msgNum < msgs.length; msgNum++)
      {
        printMessage(msgs[msgNum]);
      }
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
    finally
    {
      // -- Close down nicely --
      try
      {
        if (folder!=null) folder.close(false);
        if (store!=null) store.close();
      }
      catch (Exception ex2) {ex2.printStackTrace();}
    }
  }
  /**
    * "printMessage()" method to print a message.
    */
  public static void printMessage(Message message)
  {
    try
    {
      // Get the header information
      String from=((InternetAddress)message.getFrom()[0]).getPersonal();
      if (from==null) from=((InternetAddress)message.getFrom()[0])
       .getAddress();
      System.out.println("FROM: "+from);
      String subject=message.getSubject();
      System.out.println("SUBJECT: "+subject);
      // -- Get the message part (i.e. the message itself) --
      Part messagePart=message;
      Object content=messagePart.getContent();
      // -- or its first body part if it is a multipart message --
      if (content instanceof Multipart)
      {
        messagePart=((Multipart)content).getBodyPart(0);
        System.out.println("[ Multipart Message ]");
      }
      // -- Get the content type --
      String contentType=messagePart.getContentType();
      // -- If the content is plain text, we can print it --
      System.out.println("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)
        {
          System.out.println(thisLine);
          thisLine=reader.readLine();
        }
      }
      System.out.println("-----------------------------");
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
  }
}


Terima Kasi
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

RSS Lo-Fi Version Time is now: 12th October 2008 - 11:24 AM

© 1998-2008 Khazanah Maya Computer Systems