classpathx-javamail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Classpathx-javamail] Folder.copyMessages


From: remi__
Subject: [Classpathx-javamail] Folder.copyMessages
Date: Thu, 31 May 2007 03:14:40 -0700 (PDT)

Hi !

I am writing some code to move a mail from a folder to another. The idea is
to copy it to another folder and then delete the orignal.

Is that normal that this code:

private void moveMail(Message message){
        try {
                Folder dossierSrc = message.getFolder();
                Store store = dossierSrc.getStore();
                Folder dossierDest = store.getFolder("processedMails");
                if (dossierDest != null && dossierDest.exists()) {
                        dossierSrc.copyMessages(new Message[]{message}, 
dossierDest);
                        message.setFlag(Flags.Flag.DELETED,true);
                } 
        } catch (MessagingException e) {
                        e.printStackTrace();
        }
}

leads to a NPE:

java.lang.NullPointerException
        at
gnu.mail.providers.imap.IMAPMultipartDataSource.getInputStream(IMAPMultipartDataSource.java:102)
        at javax.activation.DataHandler.writeTo(DataHandler.java:215)
        at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1618)
        at gnu.mail.providers.imap.IMAPMessage.writeTo(IMAPMessage.java:859)
        at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1553)
        at gnu.mail.providers.imap.IMAPMessage.writeTo(IMAPMessage.java:845)
        at 
gnu.mail.providers.imap.IMAPFolder.appendMessages(IMAPFolder.java:712)
        at javax.mail.Folder.copyMessages(Folder.java:669)
        at TestDeplacementMailGNU112.moveMail(TestDeplacementMailGNU112.java:63)
        at TestDeplacementMailGNU112.test(TestDeplacementMailGNU112.java:47)
        at TestDeplacementMailGNU112.main(TestDeplacementMailGNU112.java:31)


Whereas that piece of code works fine:

private void moveMail(Message message){
        try {
                Folder dossierSrc = message.getFolder();
                Store store = dossierSrc.getStore();
                Folder dossierDest = store.getFolder("processedMails");
                if (dossierDest != null && dossierDest.exists()) {
                        dossierDest.appendMessages(new Message[]{message});
                        message.setFlag(Flags.Flag.DELETED,true);
                } 
        } catch (MessagingException e) {
                        e.printStackTrace();
        }
}


Is there any known issue in the Folder.copyMessages method? 

I did the test with GNU-mail 1.1.2

Have a nice day!

thanks,

RĂ©mi Roques
-- 
View this message in context: 
http://www.nabble.com/Folder.copyMessages-tf3845701.html#a10891071
Sent from the classpathx-javamail mailing list archive at Nabble.com.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]