使用Java Mail接收 Gmail 电子邮件
2010-11-03 15:08 jinze 阅读(1231) 评论(2) 编辑 收藏 举报最近的工作需要使用Java来接收电子邮件,这里使用Gmail的imap协议,特别把代码整理一下,希望对大家有帮助:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.deepfounder.BlogPlay.util.Mail;
/**
*
* @author Andy
*/
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
public class InboxReader {
public List<Message> ReadMailByIMAP(String username, String Password) //返回list类型的电子邮件列表。
{
java.util.List MessageList = new ArrayList();
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");//设置电子邮件协议
try {
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", username, Password);
System.out.println(store);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
Message messages[] = inbox.getMessages();
for (Message message : messages) {
MessageList.add(message);
//System.out.println(message.getSubject());
}
} catch (NoSuchProviderException e) {
e.printStackTrace();
System.exit(1);
} catch (MessagingException e) {
e.printStackTrace();
System.exit(2);
}
return MessageList;
}
public static void main(String args[]) {
InboxReader ir = new InboxReader();
String username ="username";//设置用户名
String Password = "************";//设置密码
List<Message> list= ir.ReadMailByIMAP(username, Password);
for(int i=0;i<list.size();i++){
try {
System.out.println(list.get(i).getSubject());
} catch (MessagingException ex) {
Logger.getLogger(InboxReader.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.deepfounder.BlogPlay.util.Mail;
/**
*
* @author Andy
*/
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
public class InboxReader {
public List<Message> ReadMailByIMAP(String username, String Password) //返回list类型的电子邮件列表。
{
java.util.List MessageList = new ArrayList();
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");//设置电子邮件协议
try {
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", username, Password);
System.out.println(store);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
Message messages[] = inbox.getMessages();
for (Message message : messages) {
MessageList.add(message);
//System.out.println(message.getSubject());
}
} catch (NoSuchProviderException e) {
e.printStackTrace();
System.exit(1);
} catch (MessagingException e) {
e.printStackTrace();
System.exit(2);
}
return MessageList;
}
public static void main(String args[]) {
InboxReader ir = new InboxReader();
String username ="username";//设置用户名
String Password = "************";//设置密码
List<Message> list= ir.ReadMailByIMAP(username, Password);
for(int i=0;i<list.size();i++){
try {
System.out.println(list.get(i).getSubject());
} catch (MessagingException ex) {
Logger.getLogger(InboxReader.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}