ÏÈ»¹ÊÇ¿´Ò»¶Î³ÌÐòºó£¬ÔÙÒ»Ò»½²½âÆäÄÚÈݰÉ
public class ReadMail
{
//³õʼ»¯Ö÷»ú
String host=¡±smtp.163.com¡±;
String nuserName=¡±ÓÊÏäµÄÓû§Ãû¡±;
String pwd=¡±Óû§ÃÜÂ롱;
Session session;
Public void readMail()
{
Properties props=new Properties();
props.put(¡°mail.transport.protocol¡±,¡±smtp¡±);
props.put(¡°mail.smtp.host¡±,¡±¡±+host+¡±¡±);
props.put(¡°mail.smtp.port¡±,¡±25¡±);
session=Session.getDefaultInstance(props);
//»ñÈ¡Store¶ÔÏó£¬Ê¹ÓÃpop3ÐÒéÒ²¿ÉÒÔʹÓÃIMAP
Stroe store=session.getStore(¡°pop3¡±);
//Á¬½Óµ½Óʼþ·þÎñÆ÷
store.connect(host,username,password);
//»ñÈ¡¸ÃÓÃFloder¶Ô£¬²¢ÒÔÖ»¶Á·½Ê½´ò¿ª
Folder folder=store.getFolder(¡°INBOX¡±);
Folder.open(Folder.READ_ONLY);
//¼ìË÷ËùÓÐÓʼþ£¬°´ÐèÌî³ä
Message msg[]=folder.getMessage();
//±éÀúÿһ¸öÓʼþ
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
For(int i=0,n=msg.length;I<n;I++)
{
//´òӡÿ¸öÓʼþµÄ·¢¼þÈ˺ÍÖ÷Ìâ
System.out.println(I+¡±:¡±+msg[i].getFrom()[0]+¡±\t¡±+msg[i].getSubject());
//ÏÔʾÏûÏ¢ÄÚÈÝ
msg[i].writeTo(System.out);
}
floder.close(false);
store.close();
}
} |
ÏÖÔÚ¶Ô³ÌÐòÒ»Ò»½²½â°É£¡
StoreÊÇÒ»¸ö³éÏóÀ࣬ËüÄ£ÄâÁËÏûÏ¢´æ´¢Æ÷£¨»ò³ÆÎªÏûÏ¢Êý¾Ý¿â£©¼°ÆäÄÚ²¿Ä¿Â¼£¨Folder£©·ÃÎÊÐÒ飬ÒÔ´æ´¢ºÍ¶ÁÈ¡ÏûÏ¢£¬ÓÉÆä×ÓÀàÌṩ¾ßÌåʵÏÖ¡£¿Í»§³ÌÐò¿ÉÒÔͨ¹ý»ñȡһ¸öStore¶ÔÏóÀ´·ÃÎÊÏûÏ¢´æ´¢Æ÷£¬ÒÔ¾ø´ó¶àÊýµÄ´æ´¢Æ÷ÒªÇóÓû§ÔÚ·ÃÎÊǰÌṩÈÏÖ¤ÐÅÏ¢£¬connect·½·¨Ö´ÐÐÁ˸ÃÈÏÖ¤¹ý³Ì¡£ÓëTransportÀàËÆ£¬Ò²¿ÉÒÔÖ¸¶¨StoreʹÓÃÐÒé¡£ÓʼþÊǶÁÈ¡ÓʼþËùÒÔÓÃpop3ÐÒéÀ´¶ÁÈ¡¡£
¾ßÌåÈ磺Store store=new Store(¡°pop3¡±);
È»ºóÈÏÖ¤:store.connect(host,username,pwd)
javax.mail.FolderÀ࣬ËüÊÇÒ»¸ö³éÏóÀ࣬ÓÃÓÚ·Ö¼¶×éÖ¯Óʼþ£¬Æä×ÓÀàÌṩÕë¶Ô¾ß±¾ÐÒéµÄʵÏÖ¡£´æ´¢ÔÚĿ¼ÄÚµÄÏûÏ¢±»Ë³Ðò¼ÆÊý£¨´Ó1¿ªÊ¼µ½ÏûÏ¢×ÜÊý£©£¬¸Ã˳Ðò±»³ÆÎªÓÊÏä˳Ðò£¬Óʼþ˳ÐòµÄ¸Ä±äÏûÏ¢µÄÐòÁкţ¬ÕâÖÖÇé¿ö½ö·¢ÉúÔÚ¿Í»§³ÌÐòµ÷ÓÃExpunge·½·¨²Á³ýĿ¼ÄÚÉèÖÃÁËFlags.Flag.DELETED±ê־λµÄÏûϢʱ¡£
Ö´ÐвÁ³ý²Ù×÷ºó£¬Ä¿Â¼ÄÚÏûÏ¢½«ÖØÐ±àºÅ¡£¿Í»§³ÌÐò¿ÉÒÔͨ¹ýÏûÏ¢ÐòÁкźÍÖ±½Óͨ¹ýÏàÓ¦µÄMessage¶ÔÏóÒýÓÃĿ¼ÖеĶÔÏó£¬ÓÉÓÚÏûÏ¢ÐòÁкŻáÔڻỰÖкܿÉÄÜ»á¸Ä±ä£¬Òò´ËÓ¦¾¡¿ÉÄܱ£´æMessage¶ÔÏóÀ´ÒýÓöÔÏó¡£
Á¬½ÓstroeÖ®ºó£¬½ÓÒ»À´¾Í¿ÉÒÔ»ñȡһ¸öÎļþ¼Ð£¨Folder£©¡£¸ÃÎļþ¼Ð±ØÐëÏÈʹÓÃopen()·½·¨´ò¿ª£¬È»ºó²ÅÄܶÁÈ¡ÀïÃæµÄÏûÏ¢¡£
Folder folder=store.getDefaultFolder();
//»òFolder folder=store.getFolder(¡°inbox¡±);
folder.open(Folder.READ_WRITE);
Message message[]=folder.getMessages(); |
Open()·½·¨Ö¸¶¨ÁËÒª´ò¿ªµÄÎļþ¼°´ò¿ª·½ÊÔ£¨ÈçFolder.READ_WRITE£©¡£InboxÊÇpop3Ωһ¿ÉÒÔʹÓõÄÎļþ¼Ð¡£Èç¹ûʹÓÃIMAP£¬»¹¿ÉÒÔʹÓÃÆäËüµÄÎļþ¼Ð¡£¶ÁÈ¡ÁËMessageÖ®ºó£¬¾Í¿ÉÒÔÓÃgetContent()»ñµÃÄÚÈÝ£¬»òÕßÓÃwriteTo()½«ÄÚÈÝдÈëÊä³öÁ÷¡£GetContent()·½·¨Ö»Äܵõ½ÏûÏ¢ÄÚÈÝ£¬¶øwriteTo()Êä³öÈ´°üº¬ÏûϢͷ.
ÈçÏÂÁ½ÖÖ·½Ê½£º
System.out.println(((MimeMessage)msg).getContent());
Msg.writeTo(System.out); |
¶ÁÍêÓʼþºóÒª¹Ø±ÕÓëFolderºÍStoreµÄÁ¬½Ó
folder.close(false);
stroe.close(); |