0

我们需要为不支持 IMAP 的 Hotmail 构建一个客户端。据我了解,您必须使用带有 POP3 的交换,但 POP3 不支持将邮件从一个文件夹移动到另一个文件夹。我们需要以下功能:

  • 能够阅读邮件而不将其标记为“已读”
  • 可以删除邮件
  • 能够将邮件从收件箱移到另一个文件夹并标记为已读

有什么办法可以让它工作吗?

4

3 回答 3

0

简短的回答,不。

从 Microsoft 获得 ActiveSync 协议的许可。

Hotmail 有一个 Outlook 连接器。也许有大量的 JNI,但首先检查许可证。

于 2012-07-11T20:09:41.157 回答
0

更新:Outlook 现在支持 IMAP。Hotmail 使用相同的服务器。

于 2014-08-14T16:20:15.937 回答
-1

您可以使用 JavaMail 做所有您需要的事情。这是API

这是一个从收件箱中获取所有未读邮件并将其标记为已读的示例。查看文件夹类(特别是copyMessages()方法)将消息移动到新文件夹。

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();

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

        try{
            // Get the store
            Store store = session.getStore("pop3");
            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), true); 
            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){
                  e.printStackTrace();
        }
    }
于 2012-07-05T18:57:17.267 回答