IMAP for Hotmail相当于

时间:2012-07-05 18:42:20

标签: java imap pop3 hotmail email-client

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

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

有什么方法可以让它发挥作用吗?

3 个答案:

答案 0 :(得分:0)

简短回答,不。

许可Microsoft的ActiveSync协议。

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

答案 1 :(得分:0)

更新:Outlook now supports IMAP。 Hotmail使用相同的服务器。

答案 2 :(得分:-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();
        }
    }