【问题标题】:How to set the email protocol in JavaMail如何在 JavaMail 中设置电子邮件协议
【发布时间】:2010-04-04 07:04:37
【问题描述】:

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

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

【问题讨论】:

    标签: java servlets protocols jakarta-mail


    【解决方案1】:

    协议在配置属性中指定:

    mail.store.protocol=pop3
    
    mail.pop3.host=...
    ...
    

    【讨论】:

    • 但是我怎么知道,我必须对任何动态创建的文件夹(如“黄昏”)使用 IMAP 协议,或者对于已经创建的程序员定义的文件夹(如垃圾邮件、邮件应用程序中的发件箱)?
    【解决方案2】:

    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”标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-29
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多