estou desenvolvendo uma aplicação que requer que eu baixa e-mails de um determinado provedor. Achei alguns códigos em que tentei me basear, porém todos eu só consigo pegar o conteúdo do corpo do e-mail, o que eu preciso é do conteúdo do arquivo em anexo. Preciso fazer o download do arquivo em anexo. Alguém pode me ajudar?
Cara vou dar uma estudada melhor no commons mail. Mas no link do forum que você me mandou, só tem falando de como envia, pelo que eu vi. Preciso, fazer uma ratina em que ele receba o e-mail, em que ele conecte-se com o servidor pop3 e baixe os e-mails que estão na caixa de e-mail.
ele ajuda também? se sim, tem algum lugar, ou algum documento bom em que eu possa me basear?
fabricioempresa
Nada melhor que um código para ilustrar hahuahuhua
importjava.io.File;importjava.util.Properties;importjavax.activation.CommandMap;importjavax.activation.DataHandler;importjavax.activation.FileDataSource;importjavax.activation.MailcapCommandMap;importjavax.mail.Authenticator;importjavax.mail.BodyPart;importjavax.mail.Message;importjavax.mail.Multipart;importjavax.mail.PasswordAuthentication;importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeBodyPart;importjavax.mail.internet.MimeMessage;importjavax.mail.internet.MimeMultipart;publicclassSendMail{Stringserver=TmpSend.getInstance().getsmtp();privateStringhost=server;/* endereço do servidor smtp */publicclassSMTPAuthenticatorextendsAuthenticator{@OverridepublicPasswordAuthenticationgetPasswordAuthentication(){Stringusername=usuariodoemail;Stringpassword=pwddousuario;returnnewPasswordAuthentication(username,password);}}publicvoidEnviarEmailPara(Stringpara,Stringassunto,Stringmensagem)throwsException{PropertiesmailProps=System.getProperties();mailProps.put("mail.smtp.host",this.host);StringfileAttachment="";Authenticatorauth=newSMTPAuthenticator();Sessionsession=Session.getDefaultInstance(mailProps,auth);mailProps.put("mail.smtp.auth","true");mailProps.put("mail.debug","true");mailProps.put("mail.smtp.debug","true");mailProps.put("mail.mime.charset","ISO-8859-1");mailProps.put("mail.smtp.port","25");MailcapCommandMapmc=(MailcapCommandMap)CommandMap.getDefaultCommandMap();mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");CommandMap.setDefaultCommandMap(mc);// Definir mensagemMimeMessagemessage=newMimeMessage(session);Stringfrom=paraquemvaioemailmessage.setFrom(newInternetAddress(from));message.addRecipient(Message.RecipientType.TO,newInternetAddress(para));message.setSubject(assunto);//JOptionPane.showMessageDialog(null,message.getFrom()[0].toString() + " " + message.getAllRecipients()[0].toString());// Criar parte da mensagemMimeBodyPartmessageBodyPart=newMimeBodyPart();// Texto da mensagemmessageBodyPart.setText(mensagem);Multipartmultipart=newMimeMultipart();multipart.addBodyPart(messageBodyPart);BodyPartbodyPart=newMimeBodyPart();FileDataSourcefileDataSource=newFileDataSource(newFile("nomedoarquivoaseranexadocomocaminho"));bodyPart.setDataHandler(newDataHandler(fileDataSource));bodyPart.setFileName("nomedoarquivoaseranexadocomocaminho");message.setFileName("nomedoarquivoaseranexadocomocaminho");}else{multipart.addBodyPart(bodyPart);// Enviar parte da mensagemmessage.setContent(multipart);//message.setContent(mensagem.toString());Transport.send(message);}}
M
malbarbosa
Oi fabricioempresa,
o código para envio de e-mails eu já fiz, o que preciso é do que recebe e-mails. Você não tem ele ai não? ou alguma documentação?
fabricioempresa
Bah cara não consegui entender o que você quer?
Valeu
M
malbarbosa
Cara, esse código que você postou, serve para enviar e-mails, correto?
o que estou precisando é de um que receba e-mails. Por exemplo, se eu mandar um e-mail para um determinado e-mail, a aplicação estando conectado com o provedor de e-mail deve fazer o download do anexo que vai vim no e-mail.
entende?