<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Acessar o anexo de um e-mail com JavaMail"]]></title>
		<link>http://www.guj.com.br/posts/list/5.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Acessar o anexo de um e-mail com JavaMail"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ Alguém sabe como acessar o anexo com Java Mail?<br /> Exemplo tenho um e-mail com um anexo na caixa, meu app vai lá, pega a msg mais o anexo pra mim.<br /> <br /> Alguem conhece?<br /> vlw]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770070.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770070.java</link>
				<pubDate><![CDATA[Wed, 28 Oct 2009 16:44:50]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [color=darkblue] Não sei se é bem isso o que precisa, mas segue:[/color]<br /> <br /> [url=http://www.arquivodecodigos.net/sistema/main/visualizar_dica/423]EXEMPLO COMPLETO DE ENVIO DE E-MAIL COM ANEXO USANDO JSP + JAVAMAIL[/url]<br /> <br /> [url=http://www.guj.com.br/posts/list/62607.java]JavaMail - Email c/ Anexo![/url]<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770075.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770075.java</link>
				<pubDate><![CDATA[Wed, 28 Oct 2009 16:54:36]]> GMT</pubDate>
				<author><![CDATA[ Metaleiro]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=Metaleiro][color=darkblue] Não sei se é bem isso o que precisa, mas segue:[/color]<br /> <br /> [url=http://www.arquivodecodigos.net/sistema/main/visualizar_dica/423]EXEMPLO COMPLETO DE ENVIO DE E-MAIL COM ANEXO USANDO JSP + JAVAMAIL[/url]<br /> <br /> [url=http://www.guj.com.br/posts/list/62607.java]JavaMail - Email c/ Anexo![/url]<br /> [/quote]<br /> <br /> <br /> Não seria o envio, preciso que meu app acesse o e-mail, pegue o anexo, salve em uma pasta, marque o e-mail como lido, é isso, mas vlw os links =)<br /> <br /> <br /> Sobre o envio em si peguei essas pra ver:<br /> [url]http://javafree.uol.com.br/forum/viewtopic.php?p=22161#22161[/url]<br /> [url]http://java.sun.com/products/javamail/FAQ.html[/url]<br /> [url]http://java.sun.com/developer/onlineTraining/JavaMail/contents.html#InstallJAF[/url]<br /> [url]http://java.sun.com/products/javamail/learning/tutorial/index.html[/url]<br /> [url]http://commons.apache.org/email/[/url]<br /> [url]http://www.apache.org/foundation/getinvolved.html[/url]<br /> [url]http://www.guj.com.br/posts/list/62607.java[/url]<br /> [url]http://commons.apache.org/email/api-release/index.html[/url]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770080.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770080.java</link>
				<pubDate><![CDATA[Wed, 28 Oct 2009 17:05:09]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ eae doido .....  <br /> <br /> <a class="snap_shots" href="http://www.hiteshagrawal.com/java/reading-pop3-mails-using-java" target="_blank" rel="nofollow">http://www.hiteshagrawal.com/java/reading-pop3-mails-using-java</a><br /> <br /> eh um codigo bem feinho mas aparentemente serve.<br /> <br /> <br /> the google search = read email server java<br /> <br /> <br /> poe la aparece mais coisas  <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> tem casos que costuma dar alguns paus, fiz uma aplicação que faz isso, e tenho alguns problemas, mas boa sorte hehe<br /> <br /> qualquer coisa diz ai<br /> <br /> rsrs]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770167.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770167.java</link>
				<pubDate><![CDATA[Wed, 28 Oct 2009 21:09:09]]> GMT</pubDate>
				<author><![CDATA[ cdorner]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=cdorner]eae doido .....  <br /> <br /> <a class="snap_shots" href="http://www.hiteshagrawal.com/java/reading-pop3-mails-using-java" target="_blank" rel="nofollow">http://www.hiteshagrawal.com/java/reading-pop3-mails-using-java</a><br /> <br /> eh um codigo bem feinho mas aparentemente serve.<br /> <br /> <br /> the google search = read email server java<br /> <br /> <br /> poe la aparece mais coisas  <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> tem casos que costuma dar alguns paus, fiz uma aplicação que faz isso, e tenho alguns problemas, mas boa sorte hehe<br /> <br /> qualquer coisa diz ai<br /> <br /> rsrs[/quote]<br /> <br /> Haha era isso mesmo, vlw  <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770223.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770223.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 06:48:07]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=Eduardo Bregaida][quote=cdorner]eae doido .....  <br /> <br /> http://www.hiteshagrawal.com/java/reading-pop3-mails-using-java<br /> <br /> eh um codigo bem feinho mas aparentemente serve.<br /> <br /> <br /> the google search = read email server java<br /> <br /> <br /> poe la aparece mais coisas  :)<br /> <br /> tem casos que costuma dar alguns paus, fiz uma aplicação que faz isso, e tenho alguns problemas, mas boa sorte hehe<br /> <br /> qualquer coisa diz ai<br /> <br /> rsrs[/quote]<br /> <br /> Haha era isso mesmo, vlw  :wink: [/quote]<br /> <br /> <br /> Bom isso funfou para o e-mail externo e tal, mas aqui internamente é Lotus Notes, e está dando o seguinte erro:<br /> [code]<br /> Pegando a sessão para acesso de e-mail.<br /> javax.mail.AuthenticationFailedException: Error. The system was unable to log bregaida/CB in.<br /> Não há processos para ler o e-mail.<br /> 	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:158)<br /> 	at javax.mail.Service.connect(Service.java:291)<br /> 	at javax.mail.Service.connect(Service.java:172)<br /> 	at ReadEmails.processMail(ReadEmails.java:56)<br /> 	at ReadEmails.&lt;init&gt;(ReadEmails.java:27)<br /> 	at ReadEmails.main(ReadEmails.java:165)<br /> [/code]<br /> <br /> Tem idéia?  :( ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770333.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770333.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 10:00:00]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ Assim Funfou com IMAP  8)<br /> <br /> [code]Properties prop = new Properties();<br /> <br /> 		session = Session.getInstance(prop);<br /> 		<br /> 		URLName url = new URLName(imap, host, porta, diretorioServidor, login, senha);<br /> <br /> 		store = session.getStore(url);<br /> 		<br /> 		store.connect();[/code] <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770427.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770427.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 11:32:14]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=Eduardo Bregaida]Assim Funfou com IMAP  8)<br /> <br /> [code]Properties prop = new Properties();<br /> <br /> 		session = Session.getInstance(prop);<br /> 		<br /> 		URLName url = new URLName(imap, host, porta, diretorioServidor, login, senha);<br /> <br /> 		store = session.getStore(url);<br /> 		<br /> 		store.connect();[/code] <br /> [/quote]<br /> <br /> <br /> <br /> <br /> :)P<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770437.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770437.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 11:48:38]]> GMT</pubDate>
				<author><![CDATA[ cdorner]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=cdorner][quote=Eduardo Bregaida]Assim Funfou com IMAP  8)<br /> <br /> [code]Properties prop = new Properties();<br /> <br /> 		session = Session.getInstance(prop);<br /> 		<br /> 		URLName url = new URLName(imap, host, porta, diretorioServidor, login, senha);<br /> <br /> 		store = session.getStore(url);<br /> 		<br /> 		store.connect();[/code] <br /> [/quote]<br /> <br /> :)P<br /> <br /> [/quote]<br /> <br /> <br /> Mais uma dúvida, tem como eu marcar o e-mail como lido?  :wink: ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770535.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770535.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 13:37:25]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[  [quote]Mais uma dúvida, tem como eu marcar o e-mail como lido?  :wink: [/quote]<br /> <br /> Também queria saber como pego o OutputStream e faço ele gravar na pasta eu fiz assim mas n funfou:  :cry: <br /> <br /> [code]<br /> String disposition = part.getDisposition();  <br /> 								   if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT) || (disposition.equals(Part.INLINE))))) {  <br /> 								     salvarArquivo(part.getFileName(), part.getInputStream());  <br /> 								   }  <br /> 								}<br /> <br /> File file = new File(pasta);<br /> 		for (int i=0; file.exists(); i++) {<br /> 		  file = new File( pasta+fileName+i); <br /> 		}<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770633.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770633.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 14:58:49]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ No momento não tenho em mãos como se faz isso, mas tem como sim, e eh facinho  <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> quando chegar em casa posto o esquema <br /> <br /> <br /> KISS ..... <br /> (Keep it Stuped and Simple)]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770655.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770655.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 15:25:33]]> GMT</pubDate>
				<author><![CDATA[ cdorner]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=cdorner]No momento não tenho em mãos como se faz isso, mas tem como sim, e eh facinho  <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> quando chegar em casa posto o esquema <br /> <br /> <br /> KISS ..... <br /> (Keep it Stuped and Simple)[/quote]<br /> <br /> hahaha vlw, enqto isso vou tentando achar no Google =)]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770702.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770702.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 16:05:26]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=Eduardo Bregaida][quote=cdorner]No momento não tenho em mãos como se faz isso, mas tem como sim, e eh facinho  <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> quando chegar em casa posto o esquema <br /> <br /> <br /> KISS ..... <br /> (Keep it Stuped and Simple)[/quote]<br /> <br /> hahaha vlw, enqto isso vou tentando achar no Google =)[/quote]<br /> Resolvi amanhã posto a solução, só falta agora ler somente e-mails nao lidos pois ele está lendo todos e marcar os novos como lido, dai acabo de uma vez =)]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770796.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770796.java</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 18:24:40]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ [quote=Eduardo Bregaida][quote=Eduardo Bregaida][quote=cdorner]No momento não tenho em mãos como se faz isso, mas tem como sim, e eh facinho  :)<br /> <br /> quando chegar em casa posto o esquema <br /> <br /> <br /> KISS ..... <br /> (Keep it Stuped and Simple)[/quote]<br /> <br /> hahaha vlw, enqto isso vou tentando achar no Google =)[/quote]<br /> Resolvi amanhã posto a solução, só falta agora ler somente e-mails nao lidos pois ele está lendo todos e marcar os novos como lido, dai acabo de uma vez =)[/quote]<br /> <br /> Resolução para salvar o anexo:<br /> [code]<br /> private void salvarArquivo(Part part) throws IOException, MessagingException {<br /> 		String pasta = "c:/teste/teste/";<br /> 		FileOutputStream fileOutputStream = new FileOutputStream(pasta+part.getFileName());<br /> 		 Object obj = part.getContent();<br /> 	     if( obj instanceof InputStream ){<br /> 	        InputStream is = (InputStream) obj;<br /> 	        int ch = -1;<br /> 	        while( (ch = is.read() ) != -1 ){<br /> 	        	fileOutputStream.write(ch);<br /> 	        }<br /> 	     } <br /> 	}<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/770955.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/770955.java</link>
				<pubDate><![CDATA[Fri, 30 Oct 2009 07:34:02]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ No final ficou assim  8) <br /> <br /> Hehehe vlw a ajuda  :D <br /> <br /> [code]<br /> public class ReadEmails {<br /> <br /> 	// Constructor Call<br /> 	public ReadEmails() throws MessagingException {<br /> 		processMail();<br /> 	}<br /> <br /> 	/**<br /> 	 * Responsável pelas mensagens na tela<br /> 	 * @param data<br /> 	 */<br /> 	private void printData(String data) {<br /> 		System.out.println(data);<br /> 	}<br /> <br /> 	public void processMail() throws MessagingException {<br /> 		Store 		store 		= null;<br /> 		Folder 		folder 		= null;<br /> 		Message 	message 	= null;<br /> 		Message[] 	messages 	= null;<br /> 		Object 		msgObj 		= null;<br /> 		String 		sender 		= null;<br /> 		String 		subject 	= null;<br /> 		Multipart 	multipart 	= null;<br /> 		Part 		part 		= null;<br /> 		String 		contentType = null;<br /> <br /> 		try {<br /> 			store = conexaoServidorEMail();<br /> <br /> 			folder = getPastaCaixaEntrada(store);<br /> <br /> 			<br /> 			<br /> 			messages = folder.getMessages();<br /> <br /> 			for (int messageNumber = 0; messageNumber &lt; messages.length; messageNumber++) {<br /> <br /> 				message = messages[messageNumber];<br /> <br /> 				msgObj = message.getContent();<br /> <br /> 				// Determine o tipo de email<br /> 				if (msgObj instanceof Multipart) {<br /> 					printData("Encontrado e-mail com anexo.");<br /> 					sender = ((InternetAddress) message.getFrom()[0]).getPersonal();<br /> <br /> 					printData("Se a informação de entrada é pessoal, checar o endereço para envio de informação.");<br /> <br /> 					if (sender == null) {<br /> 						sender = ((InternetAddress) message.getFrom()[0]).getAddress();<br /> 						printData("Sender vazio. Escrever Endereço:" + sender);<br /> 					}<br /> 					printData("Enviar -." + sender);<br /> <br /> 					subject = message.getSubject();<br /> <br /> 					printData("Assunto=" + subject);<br /> <br /> 					multipart = (Multipart) message.getContent();<br /> <br /> 					printData("Recuperar objeto multpart da mensagem.");<br /> <br /> 					for (int i = 0; i &lt; multipart.getCount(); i++) {<br /> <br /> 						part = multipart.getBodyPart(i);<br /> <br /> 						// pegando um tipo do conteúdo<br /> 						contentType = part.getContentType();<br /> <br /> 						// Tela do conteúdo<br /> 						printData("Conteúdo: " + contentType);<br /> <br /> 						if (contentType.startsWith("text/plain")) {<br /> 							printData("---------lendo conteúdo do e-mail contendo text/plain -------------");<br /> 						} else {<br /> 							// Recebendo o nome do arquivo<br /> 							@SuppressWarnings("unused")<br /> 							String fileName = validarXML(part, store,folder,messages,i);<br /> 							   <br /> 						}<br /> 					}<br /> 					<br /> 				} else {<br /> 					printData("Encontrado e-mail com anexos.");<br /> 					sender = ((InternetAddress) message.getFrom()[0]).getPersonal();<br /> <br /> 					printData("Se a informação de entrada é pessoal, checar o endereço para envio de informação.");<br /> <br /> 					if (sender == null) {<br /> 						sender = ((InternetAddress) message.getFrom()[0]).getAddress();<br /> 						printData("Envio é nulo. Escrever endereço:" + sender);<br /> 					}<br /> <br /> 					// Get the subject information<br /> 					subject = message.getSubject();<br /> 					printData("Assunto=" + subject);<br /> 				}<br /> 			}<br /> 			<br /> 			// Fecha a pasta<br /> 			folder.close(true);<br /> <br /> 			// Histório de mensagens<br /> 			store.close();<br /> 			<br /> 		} catch (AuthenticationFailedException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (FolderClosedException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (FolderNotFoundException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (NoSuchProviderException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (ReadOnlyFolderException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (StoreClosedException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (Exception e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		}<br /> 	}<br /> <br /> 	/**<br /> 	 * @param messages<br /> 	 * @param i<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private void excluirMensagemInbox(Message[] messages, int i) throws MessagingException {<br /> 		BufferedReader reader = new BufferedReader (new InputStreamReader(System.in));<br /> 		    messages[i].setFlag(Flags.Flag.DELETED, true);<br /> 		    System.out.println("Msg Delete .....");<br /> 	}<br /> <br /> 	/**<br /> 	 * Envia os arquivos da pasta princiál para a pasta reserva<br /> 	 * @param store<br /> 	 * @param folder<br /> 	 * @param messages<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private void enviaArquivoPastaAuxiliar(Store store, Folder folder, Message[] messages, int i) throws MessagingException {<br /> 		printData("Enviando os e-mails lidos para pasta Auxiliar");<br /> 		Folder folderAux;<br /> 		folderAux = getPastaAuxiliar(store);<br /> 		folder.copyMessages(messages, folderAux);<br /> 		folderAux.close(true);<br /> 		excluirMensagemInbox(messages, i);<br /> 	}<br /> <br /> 	/**<br /> 	 * Recebe o anexo e valida se é um XML, se sim ele salva o arquivo em uma pasta<br /> 	 * @param part<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 * @throws IOException<br /> 	 */<br /> 	private String validarXML(Part part, Store store, Folder folder, Message[] messages, int i) throws MessagingException, IOException {<br /> 		String fileName = part.getFileName();<br /> 		printData("recebendo e validando os anexos=" + fileName);<br /> 		if(fileName!=null){<br /> 			int tamanhoString = fileName.length()-3;<br /> 			if (!fileName.substring(tamanhoString).equals("xml")){<br /> 				printData("Não era XML "+fileName+" - "+fileName.substring(tamanhoString));<br /> 				return fileName;<br /> 			}else{<br /> 			  String disposition = part.getDisposition();  <br /> 			   if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT) || (disposition.equals(Part.INLINE))))) {  <br /> 			     salvarArquivo(part);  <br /> 			     enviaArquivoPastaAuxiliar(store, folder, messages, i);<br /> 			   }  <br /> 			}<br /> 		}<br /> 		return fileName;<br /> 	}<br /> <br /> 	/**<br /> 	 * Salva o arquivo em uma pasta<br /> 	 * @param part<br /> 	 * @throws MessagingException<br /> 	 * @throws IOException<br /> 	 */<br /> 	private void salvarArquivo(Part part) throws IOException, MessagingException {<br /> 		String pasta = "c:/teste/teste";<br /> 		printData("Salvando os arquivos XML.");<br /> 		FileOutputStream fileOutputStream = new FileOutputStream(pasta+part.getFileName());<br /> 		 Object obj = part.getContent();<br /> 	     if( obj instanceof InputStream ){<br /> 	        InputStream is = (InputStream) obj;<br /> 	        int ch = -1;<br /> 	        while( (ch = is.read() ) != -1 ){<br /> 	        	fileOutputStream.write(ch);<br /> 	        }<br /> 	     } <br /> 	}<br /> <br /> 	/**<br /> 	 * Acessa a Caixa de Entrada (Inbox)<br /> 	 * @param store<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private Folder getPastaCaixaEntrada(Store store) throws MessagingException {<br /> 		Folder folder;<br /> 		printData("Pegando pasta da Caixa de entrada.");<br /> <br /> 		folder = store.getFolder("Inbox");<br /> <br /> 		folder.open(Folder.READ_WRITE);<br /> 		return folder;<br /> 	}<br /> <br /> 	/**<br /> 	 * Acessa a Pasta Auxiliar<br /> 	 * @param store<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private Folder getPastaAuxiliar(Store store) throws MessagingException {<br /> 		Folder folder;<br /> 		printData("Pegando pasta Auxiliar.");<br /> <br /> 		folder = store.getFolder("PastaTeste");<br /> <br /> 		folder.open(Folder.READ_WRITE);<br /> 		return folder;<br /> 	}<br /> <br /> 	/**<br /> 	 * Autenticação e conexão com o Servidor de e-mail<br /> 	 * @return<br /> 	 * @throws NoSuchProviderException<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private Store conexaoServidorEMail() throws NoSuchProviderException, MessagingException {<br /> 		Session session;<br /> 		Store store;<br /> 		printData("--------------Processo de leitura iniciado-----------------");<br /> 		String imap =	"imap";<br /> 		String host =  	"host";<br /> 		int porta	=	port;<br /> 		String diretorioServidor =	"diretorio";<br /> 		String login =	"login";<br /> 		String senha = 	"senha";<br /> <br /> 		Properties prop = new Properties();<br /> <br /> 		session = Session.getInstance(prop);<br /> 		<br /> 		URLName url = new URLName(imap, host, porta, diretorioServidor, login, senha);<br /> <br /> 		store = session.getStore(url);<br /> 		<br /> 		store.connect();<br /> 		<br /> 		printData("Conexão estabelecida com servidor IMAP.");<br /> 		return store;<br /> 	}<br /> }<br /> [/code]<br /> <br /> Agora é só deixar esse código mais bonito e parrudo, mas já ta funfando  :D ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/771183.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/771183.java</link>
				<pubDate><![CDATA[Fri, 30 Oct 2009 11:01:21]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ Agora rolou outro problema, ele não copia apenas o e-mail que eu quero,ele está copiando todos  <img src="http://www.guj.com.br/images/smilies/2786c5c8e1a8be796fb2f726cca5a0fe.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/771225.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/771225.java</link>
				<pubDate><![CDATA[Fri, 30 Oct 2009 11:35:03]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
			<item>
				<title>Re:Acessar o anexo de um e-mail com JavaMail</title>
				<description><![CDATA[ Bom achei a solução, ficou assim:<br /> <br /> Classe de Constantes:<br /> <br /> [code]<br /> /**<br />  * @author Eduardo Bregaida<br />  *<br />  */<br /> public class Constantes {<br /> 	public static final String PASTA_XML		= pasta onde o XML será salvo em seu computador;<br /> 	public static final String IMAP 			= "imap";<br /> 	public static final String HOST		        =  Seu host;<br /> 	public static final int PORTA				=  Sua porta;<br /> 	public static final String	ARQUIVO_MSG  = Arquivo de mensagens do seu e-mail;<br /> 	public static final String LOGIN			=  Seu login;<br /> 	public static final String SENHA			=  Sua senha;<br /> 	public static final String PASTA_PRINCIPAL  = "Inbox";<br /> 	public static final String PASTA_BACKUP  	= pasta caso você copie os e-mails da principal como fiz; <br /> 	<br /> }<br /> [/code]<br /> <br /> Classe ReadEmails<br /> [code]<br /> import java.io.BufferedReader;<br /> import java.io.FileOutputStream;<br /> import java.io.IOException;<br /> import java.io.InputStream;<br /> import java.io.InputStreamReader;<br /> import java.util.Properties;<br /> <br /> import javax.mail.AuthenticationFailedException;<br /> import javax.mail.Flags;<br /> import javax.mail.Folder;<br /> import javax.mail.FolderClosedException;<br /> import javax.mail.FolderNotFoundException;<br /> import javax.mail.Message;<br /> import javax.mail.MessagingException;<br /> import javax.mail.Multipart;<br /> import javax.mail.NoSuchProviderException;<br /> import javax.mail.Part;<br /> import javax.mail.ReadOnlyFolderException;<br /> import javax.mail.Session;<br /> import javax.mail.Store;<br /> import javax.mail.StoreClosedException;<br /> import javax.mail.URLName;<br /> import javax.mail.internet.InternetAddress;<br /> <br /> /**<br />  * @author Eduardo Bregaida<br />  * <br />  */<br /> public class ReadEmails {<br /> 	private Store store = null;<br /> 	private Folder folder = null;<br /> 	private Message message = null;<br /> 	private Message[] messages = null;<br /> 	private Object msgObj = null;<br /> 	private String sender = null;<br /> 	@SuppressWarnings("unused")<br /> 	private String subject = null;<br /> 	private Multipart multipart = null;<br /> 	private Part part = null;<br /> 	private String contentType = null;<br /> <br /> 	public ReadEmails() throws MessagingException {<br /> 		processMail();<br /> 	}<br /> <br /> 	/**<br /> 	 * Processa o e-mail<br /> 	 * <br /> 	 */<br /> 	public void processMail() throws MessagingException {<br /> 		try {<br /> 			store = conexaoServidorEMail();<br /> 			folder = getPastaCaixaEntrada(store);<br /> 			messages = folder.getMessages();<br /> <br /> 			for (int messageNumber = 0; messageNumber &lt; messages.length; messageNumber++) {<br /> 				message = messages[messageNumber];<br /> 				msgObj = message.getContent();<br /> 				<br /> 				// Determine o tipo de email<br /> 				if (msgObj instanceof Multipart) {<br /> <br /> 					subject = message.getSubject();<br /> 					multipart = (Multipart) message.getContent();<br /> <br /> 					for (int i = 0; i &lt; multipart.getCount(); i++) {<br /> <br /> 						part = multipart.getBodyPart(i);<br /> 						// pegando um tipo do conteúdo<br /> 						contentType = part.getContentType();<br /> 						<br /> 						String fileName2 = part.getFileName();<br /> 						if(fileName2 != null) {<br /> 							System.out.println(messageNumber + " " + fileName2 + " | " + message.getSubject());<br /> 						}<br /> 						fileName2 = null;<br /> 						<br /> 						// Tela do conteúdo<br /> 						if (contentType.startsWith("text/plain")) {<br /> 						} else {<br /> 							String fileName = part.getFileName();<br /> 							@SuppressWarnings("unused")<br /> 							Message[] mensagensXML = separaMensagensXML(i, fileName);<br /> <br /> 						}<br /> 					}<br /> 				} else {<br /> 					sender = ((InternetAddress) message.getFrom()[0]).getPersonal();<br /> 					if (sender == null) {<br /> 						sender = ((InternetAddress) message.getFrom()[0]).getAddress();<br /> 					}<br /> 					// Get the subject information<br /> 					subject = message.getSubject();<br /> 				}<br /> 			}<br /> 			// Fecha a pasta<br /> 			folder.close(true);<br /> 			// Histório de mensagens<br /> 			store.close();<br /> 			System.out.println("Terminado");<br /> 		} catch (AuthenticationFailedException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (FolderClosedException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (FolderNotFoundException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (NoSuchProviderException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (ReadOnlyFolderException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (StoreClosedException e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		} catch (Exception e) {<br /> 			store.close();<br /> 			e.printStackTrace();<br /> 		}<br /> 	}<br /> <br /> 	/**<br /> 	 * @param i<br /> 	 * @param fileName<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 * @throws IOException<br /> 	 */<br /> 	private Message[] separaMensagensXML(int i, String fileName) throws MessagingException, IOException {<br /> 		Message[] mensagensXML = folder.getMessages();;<br /> 		if (fileName != null) {<br /> 			int tamanhoString = fileName.length() - 3;<br /> 			for (int a = 0; a &lt; messages.length; a++) {<br /> 				if (fileName.substring(tamanhoString).equals("xml")) {<br /> 					mensagensXML[a] = message;<br /> 				}<br /> 			}<br /> 		}<br /> 		// Recebendo o nome do arquivo<br /> 		@SuppressWarnings("unused")<br /> 		String fileName2 = validarXML(part, store, folder, mensagensXML, i);<br /> 		return mensagensXML;<br /> 	}<br /> <br /> 	/**<br /> 	 * @param messages<br /> 	 * @param i<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private void excluirMensagemInbox(Message[] messages, int i) throws MessagingException {<br /> 		@SuppressWarnings("unused")<br /> 		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));<br /> 		messages[i].setFlag(Flags.Flag.DELETED, true);<br /> 	}<br /> <br /> 	/**<br /> 	 * Envia os arquivos da pasta princiál para a pasta reserva<br /> 	 * <br /> 	 * @param store<br /> 	 * @param folder<br /> 	 * @param messages<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private boolean enviaArquivoPastaAuxiliar(Store store, Folder folder, Message[] messages, int i) throws MessagingException {<br /> 		return false;<br /> 		Folder folderAux;<br /> 		folderAux = getPastaAuxiliar(store);<br /> 		folder.copyMessages(messages, folderAux);<br /> 		folderAux.close(true);<br /> 		excluirMensagemInbox(messages, i);<br /> 	}<br /> <br /> 	/**<br /> 	 * Recebe o anexo e valida se é um XML, se sim ele salva o arquivo em uma<br /> 	 * pasta<br /> 	 * <br /> 	 * @param part<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 * @throws IOException<br /> 	 */<br /> 	private String validarXML(Part part, Store store, Folder folder, Message[] messages, int i) throws MessagingException, IOException {<br /> 		String fileName = part.getFileName();<br /> 		if (fileName != null) {<br /> 			int tamanhoString = fileName.length() - 3;<br /> 			if (!fileName.substring(tamanhoString).equals("xml")) {<br /> 				return fileName;<br /> 			} else {<br /> 				String disposition = part.getDisposition();<br /> 				if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT) || (disposition.equals(Part.INLINE))))) {<br /> 					salvarArquivo(part);<br /> 					enviaArquivoPastaAuxiliar(store, folder, messages, i);<br /> 				}<br /> 			}<br /> 		}<br /> 		return fileName;<br /> 	}<br /> <br /> 	/**<br /> 	 * Salva o arquivo em uma pasta<br /> 	 * <br /> 	 * @param part<br /> 	 * @throws MessagingException<br /> 	 * @throws IOException<br /> 	 */<br /> 	private void salvarArquivo(Part part) throws IOException, MessagingException {<br /> 		FileOutputStream fileOutputStream = new FileOutputStream(Constantes.PASTA_XML + part.getFileName());<br /> 		Object obj = part.getContent();<br /> 		if (obj instanceof InputStream) {<br /> 			InputStream is = (InputStream) obj;<br /> 			int ch = -1;<br /> 			while ((ch = is.read()) != -1) {<br /> 				fileOutputStream.write(ch);<br /> 			}<br /> 		}<br /> 	}<br /> <br /> 	/**<br /> 	 * Acessa a Caixa de Entrada (Inbox)<br /> 	 * <br /> 	 * @param store<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private Folder getPastaCaixaEntrada(Store store) throws MessagingException {<br /> 		Folder folder;<br /> 		folder = store.getFolder(Constantes.PASTA_PRINCIPAL);<br /> 		folder.open(Folder.READ_WRITE);<br /> 		return folder;<br /> 	}<br /> <br /> 	/**<br /> 	 * Acessa a Pasta Auxiliar<br /> 	 * <br /> 	 * @param store<br /> 	 * @return<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private Folder getPastaAuxiliar(Store store) throws MessagingException {<br /> 		Folder folder;<br /> 		folder = store.getFolder(Constantes.PASTA_BACKUP);<br /> 		folder.open(Folder.READ_WRITE);<br /> 		return folder;<br /> 	}<br /> <br /> 	/**<br /> 	 * Autenticação e conexão com o Servidor de e-mail<br /> 	 * <br /> 	 * @return<br /> 	 * @throws NoSuchProviderException<br /> 	 * @throws MessagingException<br /> 	 */<br /> 	private Store conexaoServidorEMail() throws NoSuchProviderException, MessagingException {<br /> 		Session session;<br /> 		Store store;<br /> 		Properties prop = new Properties();<br /> 		session = Session.getInstance(prop);<br /> 		URLName url = new URLName(Constantes.IMAP, Constantes.HOST, Constantes.PORTA, Constantes.ARQUIVO_MSG, Constantes.LOGIN, Constantes.SENHA);<br /> 		store = session.getStore(url);<br /> 		store.connect();<br /> <br /> 		return store;<br /> 	}<br /> }<br /> [/code]<br /> <br /> Classe Principal (Main):<br /> [code]<br /> import javax.mail.MessagingException;<br /> <br /> /**<br />  * @author Eduardo Bregaida<br />  *<br />  */<br /> public class PrincipalNfe {<br /> <br /> 	public static void main(String[] args) {<br /> 		@SuppressWarnings("unused")<br /> 		ReadEmails readMail =null;<br /> 		try {<br /> 			readMail = new ReadEmails();<br /> 		} catch (MessagingException e) {<br /> 			e.printStackTrace();<br /> 		}<br /> 		<br /> 	}<br /> <br /> }<br /> [/code]<br /> <br /> Manifest:<br /> [code]<br /> Manifest-Version: 1.1<br /> Main-Class: PrincipalNfe<br /> Class-Path: lib-dep/activation.jar <br />  lib-dep/dsn.jar <br />  lib-dep/imap.jar <br />  lib-dep/mail.jar <br />  lib-dep/mailapi.jar <br />  lib-dep/pop3.jar <br />  lib-dep/smtp.jar <br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/142839/771656.java</guid>
				<link>http://www.guj.com.br/posts/preList/142839/771656.java</link>
				<pubDate><![CDATA[Sat, 31 Oct 2009 06:52:10]]> GMT</pubDate>
				<author><![CDATA[ Eduardo Bregaida]]></author>
			</item>
	</channel>
</rss>