我試圖讓電子郵件處理Java應用程序將所有處理後的郵件從IMAP收件箱移動到子文件夾。如果該子文件夾不存在,它應該創建它。最後一點是不起作用的。在什麼情況下,javax.mail中的Folder.create()返回false?
的代碼片段是:
private void _backupMessage(Message msg, Folder folder, String sBackupFolderName) throws MessagingException
{
Folder backupFolder = folder.getFolder(sBackupFolderName);
if (!backupFolder.exists()) {
boolean f = backupFolder.create(Folder.HOLDS_FOLDERS & Folder.HOLDS_MESSAGES);
if (!f) {
this._triggerFaultEvent(new RuntimeException("Could not create backup folder."));
}
}
backupFolder.open(Folder.READ_WRITE);
folder.copyMessages(new Message[] { msg }, backupFolder);
backupFolder.close(true);
}
的造成相應的Javadoc是here,但它確實沒有說什麼,只是如果創建()返回false
,該文件夾沒有創建(驚奇,驚奇) 。
我能夠使用Thunderbird使用相同的帳戶創建文件夾。
我的電子郵件服務器(Postfix)沒有顯示任何日誌條目,除非它找不到新文件夾。在相應的單元測試中,模擬郵件服務器(GreenMail)可以正常工作或忽略命令,無論如何,測試都會通過。