Как подключиться к Gmail, используя JavaMail по протоколу imap? - PullRequest
2 голосов
/ 16 апреля 2019

Я хочу получить последнее письмо, отправленное на мой адрес электронной почты, но мой код не может подключиться к моей учетной записи Gmail.

Это мой код, который работал месяц назад:

        Properties props = new Properties();
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        props.setProperty("mail.imap.ssl.enable", "true");
        props.put("mail.imap.ssl.trust", "*");
        props.put("mail.imap.ssl.socketFactory", sf);
        Session mailSession = Session.getInstance(props);
        mailSession.setDebug(true);
        Store mailStore = mailSession.getStore("imap");
        mailStore.connect("imap.gmail.com", email, emailPassword);
        Folder inbox = mailStore.getFolder("INBOX");
        inbox.open(Folder.READ_WRITE);

Ожидаемый результат: фактически он подключается к моей учетной записи Gmail.

Фактический результат: это журналы ошибок.

mailStore.connect("imap.gmail.com", email, emailPassword); //This line throws the error



Exception in thread "main" com.sun.mail.util.MailConnectException: Couldn't 
connect to host, port: imap.gmail.com, 993; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:740)
at javax.mail.Service.connect(Service.java:366)
at javax.mail.Service.connect(Service.java:246)
at AccountUnlocker.getHTMLFromEmail(AccountUnlocker.java:322)
at AccountUnlocker.unlock(AccountUnlocker.java:124)
at Main.main(Main.java:6)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:359)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:134)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:131)
at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:763)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:698)
... 5 more

Редактировать: я разрешил подключения imap к моему gmail, а также для параметра Разрешить менее безопасные приложения установлено значение true.

Редактировать 2: РЕШЕНО!Временное отключение Avast исправило это для меня!

...