/**
* 接收邮件
* 中文是乱码 未解决
* @param pop3Host pop.163.com
* @param storeType pop3
* @param user geovindu@163.com
* @param password geovindu
* @author geovindu
* @serialData@
*
*
* **/
public static void DuReceiveEmail(String pop3Host,String storeType, String user, String password){
Properties props = new Properties();
props.put("mail.pop3.host", pop3Host);
props.put("mail.pop3.port", "110");
props.put("mail.pop3.starttls.enable", "false");
props.put("mail.store.protocol", "pop3");
Session session = Session.getInstance(props);
try {
Store mailStore = session.getStore(storeType);
mailStore.connect(pop3Host, user, password);
Folder folder = mailStore.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] emailMessages = folder.getMessages();
System.out.println("Total Message - "
+ emailMessages.length);
//Iterate the messages
for (int i = 0; i < emailMessages.length; i++) {
Message message = emailMessages[i];
Address[] toAddress =
message.getRecipients(Message.RecipientType.TO);
System.out.println();
System.out.println("Email " + (i+1) + "-");
System.out.println("Subject - " + message.getSubject());
System.out.println("From - " + message.getFrom()[0]);
System.out.println("To - ");
for(int j = 0; j < toAddress.length; j++){
System.out.println(toAddress[j].toString());
}
System.out.println("Text - " +
message.getContent().toString());
}
folder.close(false);
mailStore.close();
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error in receiving email.");
}
}
/**
* 接收邮件
* 中文是乱码 未解决
* @param pop3Host pop.163.com
* @param storeType pop3 imap
* @param user geovindu@163.com
* @param password
* @author geovindu
*
*
* **/
public static void receiveEmail(String pop3Host, String storeType, String user, String password) {
try {
//1) get the session object
Properties properties = new Properties();
properties.put("mail.pop3.host", pop3Host);
Session emailSession = Session.getDefaultInstance(properties);
//2) create the POP3 store object and connect with the pop server
POP3Store emailStore = (POP3Store) emailSession.getStore(storeType);
emailStore.connect(user, password);
//3) create the folder object and open it
Folder emailFolder = emailStore.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
//获取邮箱基本信息
// Map<String, Integer> map = DuMailHelper.emailInfo(emailFolder);
// System.out.println(map);
//4) retrieve the messages from the folder in an array and print it
Message[] messages = emailFolder.getMessages();
// parseMessage(messages);
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
System.out.println("---------------------------------");
System.out.println("Email Number " + (i + 1));
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Text: " + message.getContent().toString());
}
//5) close the store and folder objects
emailFolder.close(false);
emailStore.close();
} catch (NoSuchProviderException e) {e.printStackTrace();}
catch (MessagingException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}