Re: Move single email message from inbox to another folder
Edwinah63 wrote:
Hi everyone,
I would like some code to move a SINGLE email message from the inbox
to another one.
I have code to move a group of them:
folder.copyMessage(messages, SomeOtherFolder);
copyMessage implies that the function copies *a* message, not *many*
messages.
but what I would like to do is:
folder.copyMessage(messages[i], SomeOtherFolder);
One message can be trivially converted into an array:
Message uniMessage[] = new Messages[] {messages[i]};
Message messages[] = inboxFolder.getMessages();
for (int i=0, n=messages.length; i<n; i++)
{
//do some code to process subject line, body, sender etc
//save message body and any attachments to database
//then move it to the correct folder
if (SaveFlag)
//move this message to the SaveSuccessful folder
else
//move it to SaveFailed folder
}
A better tactic would be to keep two lists:
LinkedList<Message> successful = new LinkedList<Message>();
LinkedList<Message> failed = new LinkedList<Message>();
for (Message m : messages) {
if (saveFlag)
successful.add(m);
else
failed.add(m);
}
folder.copyMessages(successful.toArray(new Message[0]));
folder.copyMessages(failed.toArray(new Message[0]));
(BTW searching google for this info yesterday returned an error that I
was trying to hack the system!)
ERROR: Does not compute.
--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth