如果我需要通过将请求从servlet传递到javamail API来获取收件箱消息,我怎么知道检索收件箱邮件的协议?我是否必须在请求URL中声明协议?
我已经检查了gmail,他们没有说明任何协议,那么我怎样才能获得基于特定协议的收件箱消息,如:POP3或IMAP
答案 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”标签下查看。