4

我正在寻找一个可以帮助我使用 IMAP 并且最好是 IDLE 的 Java 库。

我需要编写一个 Java 应用程序,使用 SSL 通知并检索新电子邮件。该应用程序将检查由 hMailServer 托管的帐户的收件箱。

到目前为止,我已经看过:

Apache Commons Imap但它似乎没有实现 IDLE。

JavaPushMail,但它没有足够的文档记录(我也许可以解决它,但我不确定我的继任者会不会很高兴)。

Javamail,他们的 IMAPFolder 似乎是一个不错的选择,但我的时间很短,为此编写一个稳定的库需要时间。

Chilkatsoft是一个 199 美元的库,它有点贵(我知道,免费且可靠的代码总是很容易获得 :) 另外,我不确定它是否能处理 IDLE。

如果记录在案且稳定,我可以寻求一个轮询收件箱的解决方案。

我会很感激一些示例代码、一个库或朝着正确的方向推进。

对不起所有的“我”,并提前感谢。

4

3 回答 3

2

我继续使用Javamail。只是觉得奇怪的是还没有为它编写好的包装器/客户端。好吧,不能拥有一切。感谢您的回答,康纳·谢尔曼。

于 2012-07-17T07:11:40.773 回答
2

除了 Javamail,我没有使用过您提到的任何库,但我可以保证。我必须编写一个应用程序来轮询交换服务器并解析收件箱中的所有新邮件。这是该项目中使用的代码片段。我在应用程序内进行了所有投票,所以我没有查看来自服务器或任何东西的推送通知。我知道这不正是您所要求的,但我希望这是朝着正确方向迈出的一步。

import java.util.Properties;
import javax.mail.*
import javax.mail.search.FlagTerm;


public class Driver {
    public static void main(String[] args){
        // Create properties (disable security checks on server)
        Properties props = new Properties();
        props.put("mail.imaps.ssl.checkserveridentity", "false");
        props.put("mail.imaps.ssl.trust", "*");

        // Get session
        Session session = Session.getDefaultInstance(props, null);

        try{
            // Get the store
            Store store = session.getStore("imaps");
            store.connect("servername", "username", "password");

            //connection configuration
            Folder folder = store.getFolder("INBOX");
            folder.open(Folder.READ_WRITE);

            //get all unread messages in the inbox
            FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false); 
            Message[] messages = folder.search(ft);

            for (int i = messages.length -1; i>=0; i--) {
                messages[i].setFlag(Flags.Flag.SEEN, true);
            }
            // Close connection 
            folder.close(false);
            store.close();
        }
        catch(Exception e){
        }
    }
}
于 2012-07-06T13:53:43.913 回答
-1

我自己没有使用过,但是这个库看起来不错:

https://github.com/MailCore/mailcore2

MailCore 2 提供了一个简单的异步 API 来处理电子邮件协议 IMAP、POP 和 SMTP。API 已从头开始重新设计。

于 2016-08-05T20:39:01.280 回答