2014-02-08 3 views
1

내 응용 프로그램에서 메시지 배열을 이동하려고합니다.메시지가 JavaMail의 폴더로 이동하지 않습니다.

하지만 메시지를 폴더로 이동하지 않습니다.

isOpen 또는 exists이 두 방법 모두에 해당하는 경우 folder 방법으로 확인합니다.

받은 편지함을 사용하여 폴더를 만드는 경우. 나는 inbox \ foldername을 가지고있다.

하지만 foldername을 만들고 이동하고 싶습니다.

뭐가 잘못 되었나요?

내 폴더는 sender 이름으로 생성됩니다. 나는 Gmail을 사용하고 있습니다.

for (Entry<String, List<Message>> senderAndMessages: mapMessagesBySender.entrySet()) { 

    Message []arrayMessages = new Message[senderAndMessages.getValue().size()]; 
    arrayMessages = senderAndMessages.getValue().toArray(arrayMessages); 
    Folder folder = store.getFolder(senderAndMessages.getKey()); 
    folder.open(Folder.READ_WRITE); 

    folder.copyMessages(arrayMessages, folder); 

} 

답변

1

이미 메시지가있는 동일한 폴더에 메시지를 복사하고 있습니다. Folder 매개 변수는 대상 폴더이며 두 번째 Folder 개체가 필요합니다.

원본 폴더에서 Message 개체를 가져 오는 방법을 알 수 없으므로 잘못된 내용 일 수도 있습니다.

대상 폴더가 열려 있지 않아도됩니다.

+0

괜찮지 만 폴더가 있는지 묻는 메서드를 사용하면 true를 반환합니다. –

+0

예, 원본 폴더가 있으므로 메시지를 읽었으므로 원본 폴더가 있다고 확신합니다. 문제는 대상 폴더를 지정하지 않았기 때문입니다. 또는 오히려, 당신은 가지고 있지만 원본 폴더와 같습니다. –

+0

나는이 명령을'Folder folder = store.getFolder (senderAndMessages.getKey());', 할 때 폴더 destionation을 가지고 있기 때문에 혼란 스럽다. 그래서 나는 그들에게로 이동 ... 올바른 방법이 될 것이라고 나에게 보여줄 수 있을까? 내 arraylist받은 편지함 폴더에 있습니다. –

관련 문제