当前位置: 首页 > 面试题库 >

计算Gmail收件箱中的电子邮件数量

公孙黎昕
2023-03-14
问题内容

这是计算gmail收件箱中邮件数量的代码。

Properties props = new Properties();
    props.put("mail.pop3.host" , "pop.gmail.com");
    props.put("mail.pop3.user" , "username");
    props.put("mail.pop3.socketFactory" , 995 );
    props.put("mail.pop3.socketFactory.class" , "javax.net.ssl.SSLSocketFactory" );
    props.put("mail.pop3.port" , 995);
    Session session = Session.getDefaultInstance(props , new Authenticator() {
        @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication( "username" , "password");
                }
    });
    try {
        Store store  = session.getStore("pop3");
        store.connect("pop.gmail.com" , "username" , "password");
        Folder fldr = store.getFolder("INBOX");
        fldr.open(Folder.HOLDS_MESSAGES);
        int count = fldr.getMessageCount();
        System.out.println(count);
    } catch(Exception exc) {
        System.out.println(exc + " error");
    }

我得到的计数等于,7但是我应该得到,3因为我的收件箱中只有3条消息。


问题答案:

在GMAIL POP3设置中,您应该仅对当前时刻收到的电子邮件启用POP访问,这是标准的GMAIL行为。

启用POP时,除“垃圾邮件”,“垃圾箱”和“聊天”外,所有邮件均下载到客户端。如果您不希望将从Web界面发送的消息下载到邮件客户端的收件箱中,建议在客户端中创建一个过滤器。您可能需要与邮件客户端的客户服务部门联系,以获取有关如何对下载的邮件进行分类的说明。

请参阅GMAIL故障排除文章

只有IMAP协议才能在GMAIL中进行AFAIK选择性同步。



 类似资料:
  • 我是Django新手。我使用django-mailbox包在Django管理员中设置了一个邮箱。URI配置是一个GmailIMAP电子邮件服务器。在将邮件检索到我的Django邮箱时,它们从收件箱中删除并创建为db记录。是否有办法将电子邮件恢复到Gmail收件箱,无论是使用Django API、gSuite的电子邮件恢复,还是将数据从db导出到Gmail收件箱? 提前感谢您的帮助。附言:邮件不存在

  • 我一直在使用IMAP,并在邮箱内使用(imap_createmailbox)创建了一个文件夹。目前为止,一切都好。问题是我一直在尝试将一些电子邮件(使用imap_mail_move功能)移动到自己创建的这个文件夹中,但我没有运气,根本没有电子邮件被移动。 以下是我一直在做的事情: 有人知道我为什么不能将这些电子邮件移动到新文件夹中吗。 PS:如果我从电子邮件收件箱中创建一个文件夹,那么电子邮件会按

  • 我一直在尝试设置AWS简单电子邮件服务,作为一种将收到的电子邮件转发到我的自定义域到我的Gmail帐户的方式,而不需要任何电子邮件托管服务。 我已经设置并验证了我的自定义域(mycustomdomain.com),还验证了它们将转发到的电子邮件地址(myemail@gmail.com)因为我仍然处于沙箱模式。 在电子邮件接收下- 没有指定收件人,我认为这应该允许为我的自定义域下的所有收件人触发此规

  • 我用竹子来让我的网站访问者填写并发送一份联系表。 我创建了一个服务帐户 我授予它全域权限 我添加了以下范围:https://www.googleapis.com/auth/gmail.addons.current.action.compose https://www.googleapis.com/auth/gmail.addons.current.message.metadatahttps://w

  • 在使用IMAP和PHP之前,我从未尝试过获取和移动电子邮件,因此将发送到垃圾箱的电子邮件移回收件箱。 好的,所以我可以正确地从Gmail中提取电子邮件,我可以删除它们,或者将它们移到垃圾箱。 当我尝试将它们移回收件箱时,我收到以下错误: 注意:未知:[TRYCREATE]第0行未知中没有文件夹[Gmail]/收件箱(失败)(errflg=2) 所以很明显,有些事情我不太明白,在过去的几个小时里,我

  • 我已经成功地让我的nodejs应用程序IMAP“附加”一封新邮件到Gmail,并带有自定义日期/时间。一切都很好。但是,如何使Gmail将其视为实际的新传入电子邮件?(需要根据现有过滤器进行排序,如果需要,可以推送到垃圾邮件等)。基本上,Gmail对新传入的电子邮件执行的所有功能。是否可以在新创建的电子邮件上引发任何此类事件,也许是使用其UID的内容?Gmail 是否通过 IMAP 支持此类功能?