您的位置:首页 > 编程语言 > Java开发

用java实现的邮件系统五 (javamail收取邮件)

2010-08-31 22:22 351 查看
package com.wepull.pop3;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.Properties;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.NoSuchProviderException;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.MimeUtility;

import com.wepull.smtp.*;

public class Viewmail {
public static void main(String[] args) {

Properties pros = System.getProperties();
// pros.put("", "");
// pros.put("", "");
Session mailsession = Session.getInstance(pros, null);
mailsession.setDebug(true);
Store store;
try {
store = mailsession.getStore("pop3");
store.connect("localhost", "lg", "123");// mailhost主机,user为用户名,passwd为密码
// store.connect("pop.126.com","liugangxnd","665687jkl");
Folder folder = store.getFolder("INBOX");
// folder.open(Folder.READ_WRITE);

folder.open(Folder.READ_ONLY);
Message[] message = folder.getMessages();

System.out.println(message.length + message[0].getSubject());
// System.out.println(message[0].);

try {
Object o = message[0].getContent();
System.out.println(message[0].getSentDate());
System.out.println(message[0].getDescription());
System.out.println(message[0].getDisposition());
// System.out.println(message);
if (message[0].isMimeType("text/plain")) {
System.out.println("************" + o.toString());

} else if (message[0].isMimeType("multipart/*")) {
Multipart mp = (Multipart) o;

System.out.println("_____" + mp.getContentType());
// System.out.println("*------*"+mp.getCount());
Part part = mp.getBodyPart(0);
System.out.println("附件的:" + part.getDescription());
System.out.println("附件的位置:" + part.getDisposition());
System.out.println("附件的名字:"
+ MimeUtility.decodeText(part.getFileName()));
System.out.println("附件的编码:");

String msg = (String) part.getContent();
BufferedReader br = new BufferedReader(
new InputStreamReader(part.getInputStream()));

// PrintStream ps = new PrintStream(new FileOutputStream(new
// File("a.txt")));

byte[] b = new byte[msg.length()];

part.getInputStream().read(b);

// System.out.println("附件内容:"+new String(Base64.decode(new
// String(b))));
System.out.println("附件的长度:" + msg.length());
// StringBuffer buf=new StringBuffer(msg.length()+6);
// char ch=' ';
// for(int i=0;i<msg.length();i++)//若遇到换行就转为<br>
// { ch=msg.charAt(i);
// buf.append(ch);
// // if(ch=='/n')buf.append("<br>");
// // else buf.append(ch);
// }
//
// System.out.println("++++++++++"+buf.toString());

}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
folder.close(true);
store.close();

} catch (NoSuchProviderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// protocol为连接协议,IMAP或是POP
catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: