Como marcar um email como lido no JavaMail usando IMAP?

0 respostas
brunorota

Boa tarde galera

Estou com um probleminha em marcar um email como lido no javamail usando IMAP

segue abaixo meu código

public void theOtherTest(){
		
		Properties props = System.getProperties();
		props.setProperty("mail.store.protocol", "imaps");
		Store store = null;
		try {
		  Session session = Session.getDefaultInstance(props, getAuthenticator());
		  URLName urlName = new URLName("imap://[email removido]:****@imap.gmail.com");
		  store = session.getStore("imaps");
		  if (!store.isConnected()) {
			  store.connect("imap.gmail.com", "[email removido]", "****");
		  }
		  
		// Get folder
			Folder folder = store.getFolder("INBOX");
			folder.open(Folder.READ_WRITE);

			// Get directory
			Message message[] = folder.getMessages();

			System.out.println(message.length);
			
			//message[0].setFlag(Flags.Flag.SEEN, true);
			
			System.out.println(message[0].getFrom()[0]);
			
			for (int i=0, n=message.length; i<n; i++) {
			   message[i].setFlag(Flags.Flag.SEEN, true);
			   message[i].saveChanges();
				System.out.println(i + ": " + message[i].getFrom()[0] + " --- " + message[i].getSubject());
			}
			
			//message[0].saveChanges();
			
		} catch (NoSuchProviderException e) {
		  e.printStackTrace();
		  System.exit(1);
		} catch (MessagingException e) {
		  e.printStackTrace();
		  //System.exit(2);
		}finally{
			try {
				store.close();
			} catch (MessagingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

Porém quando eu tento salvar o flag aparece uma mensagem que IMAP somente é disponível para leitura, POP e IMAP é só pra leitura? porque utilizando POP apareceu a mesma mensagem

Alguém pode me ajudar?

Atenciosamente>

Criado 27 de outubro de 2011
Respostas 0
Participantes 1