Подключение к серверу imap и обработка содержимого корневой папки - PullRequest
0 голосов
/ 16 декабря 2018

Я использую следующий пример кода Java для подключения к серверу imap:

void emailtest(String user, String pass, String server, String port, String folder, String timeout) {
    Properties props = new Properties();
    props.put("mail.store.protocol", "imap");
    props.put("mail.imap.host", server);
    props.put("mail.imap.port", port);
    props.put("mail.imap.ssl.enable", "true");

    Session session = Session.getInstance(props, null);
    try (Store store = session.getStore("imap")) {
        System.out.println("Establishing connection to: " + server);
        store.connect(user, pass);
        System.out.println("Connected!");

        Folder def = store.getDefaultFolder();
        Folder[] tmp = def.list("*");
        Folder[] folders = new Folder[tmp.length + 1];
        System.arraycopy(tmp, 0, folders, 0, tmp.length);
        folders[tmp.length] = def; // this is the root folder

        for(Folder f : folders)
            System.out.println("Foldername: " + f.getName());

// .... further processing of folder contents

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

Мой вопрос: зависит ли это от поставщика электронной почты, если корневая папка будет содержать какие-либо сообщения, или безопасно предположить, что корневая папка будет содержать толькосписок подпапок, но никогда не будет сообщений электронной почты?

1 Ответ

0 голосов
/ 16 декабря 2018

Некоторые серверы IMAP будут использовать INBOX в качестве корневой папки, поэтому нет, вы не можете зависеть от корневой папки, не содержащей сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...