首页 > 解决方案 > 尝试从 Microsoft Outlook 读取消息时,使用 pop3 协议在消息对象中获得 0 计数?

问题描述

尝试使用 POP3 协议从 java 代码中读取电子邮件。我正在使用客户端电子邮件服务器 microsoft Outlook 2016(POP3 协议)。但无法获取消息和消息计数。幸运的是,我能够从我的 java 代码发送消息。任何人都可以帮我解决问题吗?在此先感谢。

公共字符串 ReadMail() 抛出 MessagingException,IOException {

    // Get system properties
    int count = 5;
    while (count > 0)
    {
        try
        {

 Properties properties = System.getProperties();
        properties.put("mail.pop3.port", "110");
        properties.put("mail.pop3.host", "example.outlook.com");


            // properties.put(String.format("mail.%s.port", "pop3"), port);


        properties.setProperty(
                String.format("mail.%s.socketFactory.fallback", "pop3"),
                "false");



        Session session = Session.getDefaultInstance(properties,null);
        Store store = session.getStore("pop3");
        store.connect("example.outlook.com, username, password);
        System.out.println(store);


            if (getInboxFolder() != null)
            {
                Message[] msgs = inbox.getMessages();
                for (Message msg : msgs)
                {
                    if (msg.getSubject().contains("Test"))
                    {
                        Multipart mp = (Multipart) msg.getContent();
                        BodyPart bp = mp.getBodyPart(0);
                        bp.getContent();
                        MimeMultipart mimeMultipart = (MimeMultipart) msg.getContent();
                        String bodyContent = getTextFromMimeMultipart(mimeMultipart);
                        return bodyContent;
                    }
                }
                return null;
            }
            count--;
        }
        catch (Exception e)
        {
            count--;
        }
    }
    return null;

}

我想从我的 java 代码中读取消息。问题是什么?为什么它在这种情况下不起作用?

标签: javapop3

解决方案


推荐阅读