email - java mail: IMAP, renaming a folder which has children -


i use latest java mail api. want rename imap folder contains children (subfolders). suppose have inbox , inbox has 1 subfolder inbox.folder1. folder1 has 1 subfolder full name inbox.folder1.subfolder1

i want rename folder1 folder2 , want see:

inbox.folder2.subfolder1

but after code

// folder instance corresponds folder1 newfolder = folder.getfolder(newname); //newname = "folder2" folder.renameto(newfolder); 

i have if connect using outlook or thunderbird

inbox.folder1.subfolder1

inbox.folder2

we have 2 folders, expect one. , subfolder1 still sitting in folder1. , can not enter folder or subfolder1, generate error message: reason given: mailbox not exist, or must subscribed to.

should use setsubscripbed(true/false)? have handle subfolders separately iterating each one?

i solved. first turned on debugging mode of thunderbird stated in:

https://wiki.mozilla.org/mailnews:logging#environment_variables_to_set

then renamed folder contained many subfolders.

as see, have call subscribe folders new name , unscribe old name order specified in log file.

without calling subscribe/unsubscribe method calls, message in mail server console

68 ok folder renamed.

but not enough , have corrupted folder structure.

9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 68 rename "inbox.folder1" "inbox.folder2" 9944[ab79a70]: readnextline [stream=a6db068 nb=23 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 68 ok folder renamed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 69 subscribe "inbox.folder2" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 69 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 70 unsubscribe "inbox.folder1" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 70 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 71 subscribe "inbox.folder2.subfolder1.subsubfolder1.subsubsubfolder1b" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 71 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 72 unsubscribe "inbox.folder1.subfolder1.subsubfolder1.subsubsubfolder1b" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 72 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 73 subscribe "inbox.folder2.subfolder1.subsubfolder1.subsubsubfolder1a" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 73 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 74 unsubscribe "inbox.folder1.subfolder1.subsubfolder1.subsubsubfolder1a" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 74 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 75 subscribe "inbox.folder2.subfolder3.subsubfolder3" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 75 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 76 unsubscribe "inbox.folder1.subfolder3.subsubfolder3" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 76 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 77 subscribe "inbox.folder2.subfolder3" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 77 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 78 unsubscribe "inbox.folder1.subfolder3" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 78 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 79 subscribe "inbox.folder2.subfolder1.subsubfolder1" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 79 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 80 unsubscribe "inbox.folder1.subfolder1.subsubfolder1" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 80 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 81 subscribe "inbox.folder2.subfolder2" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 81 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 82 unsubscribe "inbox.folder1.subfolder2" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 82 ok folder unsubscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 83 subscribe "inbox.folder2.subfolder1" 9944[ab79a70]: readnextline [stream=a6db068 nb=26 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 83 ok folder subscribed. 9944[ab79a70]: 7cea000:192.168.0.104:a:senddata: 84 unsubscribe "inbox.folder1.subfolder1" 9944[ab79a70]: readnextline [stream=a6db068 nb=28 needmore=0] 9944[ab79a70]: 7cea000:192.168.0.104:a:createnewlinefromsocket: 84 ok folder unsubscribed.


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -