获取邮件文件夹

### 获取邮箱文件夹 > 获取所有文件,包括邮箱中的自定义文件夹 > **TIPS: POP协议的无法获取文件夹** #### 示例 ```java public void getAllFloder() { //创建操作对象 final IMAPFetchFoldersOperation foldersOperation = session.fetchAllFoldersOperation(); //连接服务器 foldersOperation.start(new OperationCallback() { @Override public void succeeded() { LogHelper.showLog("Login succeeded"); //获取服务器邮箱的文件夹,默认中文是乱码,需要通过域名空间转换一下 //imapFolder.path() List<IMAPFolder> folderList = foldersOperation.folders(); for (IMAPFolder imapFolder : folderList) { parseFolder(imapFolder); } } @Override public void failed(MailException e) { LogHelper.showLog("Login failed:" + e.getMessage()); } }); } private void parseFolder(IMAPFolder imapFolder) { //不检查登录时为null //测试,某些邮件没有自带默认域名空间,需要调用方法来获取,但是调用的方法是不可使用的,会有异常 IMAPNamespace namespace = session.defaultNamespace(); String folderName = " Default Null"; if (namespace != null) { //有的文件夹有两级,如:其他文件夹/自定义文件夹 if (imapFolder.path().contains("/")) { String folder2[] = imapFolder.path().split("/"); List<String> tempList = namespace.componentsFromPath(folder2[0]); //文件夹乱码现象 String firstDir = tempList.get(0); tempList = namespace.componentsFromPath(folder2[1]); //文件夹乱码现象 folderName = firstDir + "/" + tempList.get(0); } else { List<String> tempList = namespace.componentsFromPath(imapFolder.path()); //文件夹乱码现象 folderName = tempList.get(0); } } else { folderName = " Default namespace Null"; } LogHelper.showLog("imapFolder:" + imapFolder.path() + ", " + folderName+", namespace.mainPrefix():"+namespace.mainPrefix()); } ``` ### 获取文件夹中的消息总数 #### 实例 ```java final IMAPFolderInfoOperation operation = session.folderInfoOperation(folderName); LogHelper.showLog("request start"); operation.start(new OperationCallback() { @Override public void succeeded() { LogHelper.showLog("request succeeded"); IMAPFolderInfo mIMAPFolderInfo = operation.info(); //获取文件夹内, 包含消息总数 int messageCount = mIMAPFolderInfo.messageCount(); } @Override public void failed(MailException e) { //文件夹不存在 //The requested folder does not exist. Folder selection failed LogHelper.showLog("request failed:"+e.getMessage()); } }); ``` >d 文件夹不存在 The requested folder does not exist. Folder selection failed