使用imaps登录多个gmail帐户以读取java收件箱中的邮件

使用imaps登录多个gmail帐户以读取java收件箱中的邮件,java,gmail-imap,jakarta-mail,Java,Gmail Imap,Jakarta Mail,我是初学者, 我正在写一个程序,可以登录我的g-mail帐户并检查收件箱中的邮件。 为此,我使用了imaps(“imaps.gmail.com”)。 但我的问题是,当我登录到所有帐户时,一个接一个地检查其中的消息 报告错误/类型的程序: javax.mail.AuthenticationFailedException:[警报]请通过登录 您的web浏览器:某些url(失败)IMAP:xxxx@gmail.com对于 第二和其他帐户 从这一点我了解到,我没有关闭会话,正确存储。因此,程序无法签入相

我是初学者, 我正在写一个程序,可以登录我的g-mail帐户并检查收件箱中的邮件。 为此,我使用了
imaps(“imaps.gmail.com”)
。 但我的问题是,当我登录到所有帐户时,一个接一个地检查其中的消息

报告错误/类型的程序: javax.mail.AuthenticationFailedException:[警报]请通过登录 您的web浏览器:某些url(失败)IMAP:xxxx@gmail.com对于 第二和其他帐户

从这一点我了解到,我没有关闭会话,正确存储。因此,程序无法签入相应的第二个和rest邮件帐户。。 有人帮助(澄清)

以及我的代码的体系结构:

public class InboxRead {

public static boolean release = false;
private Session session = null;

public void checkInbox(String username, String password) {
    // logging into account using imaps..

    Properties props = System.getProperties();
        props.setProperty("mail.store.protocol", "imaps");
        session = Session.getDefaultInstance(props, null);
        store = session.getStore("imaps");
        store.connect("imap.gmail.com", username, password);
        System.out.println(store);

        // reading inbox... closing all folders here

        store.close();
        session = null;
        release = true;

}

public static void main(String[] args) {

for(;;) { // gives no of accounts with credentials..
    do {
        String username = "xxx@gmail.com";
        String password = "xxxx";

        InboxRead.checkInbox(username, password);
    } while(release);

}
}

}

这是Google网关抛出的错误。谷歌在个人资料访问甚至邮件访问方面保持高度安全性,但即使是这样,用户也可以使用下面的链接进行控制


使用您的google帐户转到该链接,选择“打开”,然后尝试执行您的程序。

谢谢您的回答。除此之外还有别的解决办法吗?因为我有多个帐户,我必须打开和阅读邮件。所以我不能开立账户并对每个账户进行安全控制。。