o java mail reclama quando tento salvar, gera a seguinte exception:
javax.mail.IllegalWriteException: POP3 messages are read-only
at com.sun.mail.pop3.POP3Message.saveChanges(POP3Message.java:499)
at br.com.arius.ReadMail.run(ReadMail.java:74)
ele diz que o pop eh somente leitura, so que quando eu baixo um e-mail com o thunderbird e vou no webmail o e-mail esta marcado como lido, ou seja o thunderbird consegue. estranho! :shock:
[quote=mauricioadl]o java mail reclama quando tento salvar, gera a seguinte exception:
[code]
javax.mail.IllegalWriteException: POP3 messages are read-only
at com.sun.mail.pop3.POP3Message.saveChanges(POP3Message.java:499)
at br.com.arius.ReadMail.run(ReadMail.java:74)
[/code][/quote]
eu não lembro de cabeça tem que ver na documentação, mas acredito que não tenha que salvar nada, acredito que para POP3 seja parecido como deletar, você seta a Flag. fecha a pasta e pronto, o que vc quis dizer com salvar ? vc esta fazendo inputstream na pasta ?
se eu apenas setar a flag nada acontece com a mensagem, ela continua vindo como nao lida, entao eu tento salvar a modificacao na mensagem ae gera o erro
// seta a flag
message.setFlag(Flags.Flag.SEEN, true);
// salva a modificacao
message.saveChanges();
POP3 supports no permanent flags (see Folder.getPermanentFlags()). In particular, the Flags.Flag.RECENT flag will never be set for POP3 messages. It’s up to the application to determine which messages in a POP3 mailbox are “new”. There are several strategies to accomplish this, depending on the needs of the application and the environment:
acredito que seja possivel assim: verificando o UID da mensagem.
getUID ( Message msg)
Retornar a string ID único para esta mensagem, ou null se não estiver disponível.
achei na documentacao que pop3message NÃO pode ser alterada mesmo, sera preciso fazer alguma manobra para isso. basta saber como os clientes de e-mail comum faz.
OK.
Vou acabar forçando os clientes a usar IMAP mesmo.
Mais uma coisa: Voce está movendo as mensagens de pasta ou apenas marcando-as com a Flags.flag.SEEN?
[quote=Franciscato]OK.
Vou acabar forçando os clientes a usar IMAP mesmo.
Mais uma coisa: Voce está movendo as mensagens de pasta ou apenas marcando-as com a Flags.flag.SEEN?
Valew.[/quote]
No início eu marcava como seen, mas depois eu comecei mover para uma pasta de backup prq se não me engano o javamail traz todos os e-mails, mesmo os que estão marcados. dae ficava bem lento.
[quote]No início eu marcava como seen, mas depois eu comecei mover para uma pasta de backup prq se não me engano o javamail traz todos os e-mails, mesmo os que estão marcados. dae ficava bem lento.
[]'s[/quote]
Sem querer explorar, mas já explorando, minha pasta simplesmente se nega a existir. Como ficou sua construção?
Segue como fiz:
Classe:
[code]/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
package com.mycompany.leremail;
Mensagem de confirmação/Confirmation message (Unicampo - Nota Fiscal de Serviço Eletrônica -)
Exception in thread "main" javax.mail.FolderNotFoundException: folder is not INBOX
at com.sun.mail.pop3.POP3Folder.open(POP3Folder.java:205)
at com.mycompany.leremail.Main.main(Main.java:46)