【发布时间】:2010-04-04 07:04:37
【问题描述】:
如果我需要通过将请求从 servlet 传递到 javamail API 来获取收件箱消息,我如何知道检索收件箱消息的协议?我必须在请求 URL 中说明协议吗?
我已经签入了 gmail,他们没有说明任何协议,那么我怎样才能获得基于特定协议的收件箱消息,例如:POP3 或 IMAP
【问题讨论】:
标签: java servlets protocols jakarta-mail
如果我需要通过将请求从 servlet 传递到 javamail API 来获取收件箱消息,我如何知道检索收件箱消息的协议?我必须在请求 URL 中说明协议吗?
我已经签入了 gmail,他们没有说明任何协议,那么我怎样才能获得基于特定协议的收件箱消息,例如:POP3 或 IMAP
【问题讨论】:
标签: java servlets protocols jakarta-mail
协议在配置属性中指定:
mail.store.protocol=pop3
mail.pop3.host=...
...
【讨论】:
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”标签。
【讨论】: