Я использую следующий пример кода 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
Как вы можете видеть, я также печатаю имя корневой папки по умолчанию, которая была пустой строкой вмои тесты пока, таким образом, он не содержит никаких электронных писем.
Мой вопрос: зависит ли это от поставщика электронной почты, если корневая папка будет содержать какие-либо сообщения, или безопасно предположить, что корневая папка будет содержать толькосписок подпапок, но никогда не будет сообщений электронной почты?