如何在JavaMail中设置电子邮件协议

时间:2010-04-03 10:30:49

标签: java servlets protocols javamail

如果我需要通过将请求从servlet传递到javamail API来获取收件箱消息,我怎么知道检索收件箱邮件的协议?我是否必须在请求URL中声明协议?

我已经检查了gmail,他们没有说明任何协议,那么我怎样才能获得基于特定协议的收件箱消息,如:POP3或IMAP

2 个答案:

答案 0 :(得分:1)

协议在配置属性中指定:

mail.store.protocol=pop3

mail.pop3.host=...
...

答案 1 :(得分:0)

POP3和IMAP都可以使用JavaMail接收电子邮件。这是一个例子:

Properties props = System.getProperties();
session = Session.getInstance(props, null); // get a mail session
store = session.getStore("imap"); // get relevent store type, in this case IMAP
store.connect(mailserver, username, password); // connect to mail server
defaultFolder = store.getDefaultFolder(); // get default or root folder
inboxFolder = defaultFolder.getFolder("INBOX"); // find and get INBOX folder
inboxFolder.open(Folder.READ_ONLY); // open the folder
Message[] inboxMessages = inboxFolder.getMessages(); // get all the messages

在Session.getStore()中将商店类型更改为“pop3”以进行POP3访问。

哦,顺便说一句,GMail支持POP和IMAP - 这取决于用户是否启用了这种访问。如果您登录GMail帐户,请在“设置”和“转发和POP / IMAP”标签下查看。