Не работает поток с Javamail в Android

Вот мой код:

package com.example.diploma10;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.ArrayAdapter;

import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPStore;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Properties;
import java.util.concurrent.ExecutionException;

import setting.EmailSetting;

import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.NoSuchProviderException;

import javax.mail.Session;
import javax.mail.Store;


public class Mail extends AppCompatActivity {


    String IMAP_AUTH_EMAIL = "";
    String IMAP_AUTH_PWD = "";
    String IMAP_Server = "smtp.gmail.com";
    String IMAP_Port = "993";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mail);

        setTitle("Почта");

        String login = EmailSetting.loadParameterLogin(this);
        String password = EmailSetting.loadParameterPassword(this);

        IMAP_AUTH_EMAIL = login;
        IMAP_AUTH_PWD = password;

        RetreiveFeedTask task = new RetreiveFeedTask();
        task.execute();

        try {
            String s = task.get();
        } catch (ExecutionException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


    }

    private class RetreiveFeedTask extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... params) {
            Properties properties = new Properties();

            properties.put("mail.debug", "false");
            properties.put("mail.store.protocol", "imaps");
            properties.put("mail.imap.ssl.enable", "true");
            properties.put("mail.imap.port", IMAP_Port);


            Authenticator auth = new EmailAuthenticator(IMAP_AUTH_EMAIL, IMAP_AUTH_PWD);

            Session session = Session.getDefaultInstance(properties, auth);
            session.setDebug(false);

            try {
                IMAPStore store = (IMAPStore) session.getStore("imaps");

                // Подключение к почтовому серверу
                store.connect(IMAP_Server, IMAP_AUTH_EMAIL, IMAP_AUTH_PWD);

                // Папка входящих сообщений
                IMAPFolder inbox = (IMAPFolder) store.getFolder("INBOX");

                // Открываем папку в режиме только для чтения
                inbox.open(IMAPFolder.READ_ONLY);

                System.out.println("Количество сообщений : " + String.valueOf(inbox.getMessageCount()));
                if (inbox.getMessageCount() == 0)
                    return null;
                // Последнее сообщение; первое сообщение под номером 1
                Message message = inbox.getMessage(inbox.getMessageCount());
                Multipart mp = (Multipart) message.getContent();
                // Вывод содержимого в консоль
                for (int i = 0; i < mp.getCount(); i++) {
                    BodyPart bp = mp.getBodyPart(i);
                    if (bp.getFileName() == null)
                        System.out.println("    " + i + ". сообщение : '" + bp.getContent() + "'");
                    else
                        System.out.println("    " + i + ". файл : '" + bp.getFileName() + "'");
                }
            } catch (NoSuchProviderException e) {
                System.err.println(e.getMessage());
            } catch (MessagingException e) {
                System.err.println(e.getMessage());
            } catch (IOException e) {
                System.err.println(e.getMessage());
            }

            return null;
        }
    } 

Ошибка падает на строчке:

store.connect(IMAP_Server, IMAP_AUTH_EMAIL, IMAP_AUTH_PWD);

В моем проекте следующие зависимости:

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'org.jsoup:jsoup:1.8.3'
    implementation 'com.sun.mail:android-mail:1.5.5'
    implementation 'com.sun.mail:android-activation:1.5.5'
} 

Что ему надо? Почему он не работает? :с


Ответы (0 шт):