importjava.util.Properties;importjavax.activation.CommandMap;importjavax.activation.MailcapCommandMap;importjavax.mail.Authenticator;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=FileConfig.getInstance().getsmtp();privateStringhost=server;/* endereço do servidor smtp */publicclassSMTPAuthenticatorextendsAuthenticator{@OverridepublicPasswordAuthenticationgetPasswordAuthentication(){Stringuser=FileConfig.getInstance().getuser();Stringpwd=FileConfig.getInstance().getpwd();Stringusername=user;Stringpassword=pwd;returnnewPasswordAuthentication(username,password);}}publicvoidEnviarEmailPara(Stringpara,Stringassunto,Stringmensagem)throwsException{PropertiesmailProps=System.getProperties();mailProps.put("mail.smtp.host",this.host);//String fileAttachment = "";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=FileConfig.getInstance().getuser();message.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);// Enviar parte da mensagemmessage.setContent(multipart);message.setContent(mensagem.toString(),"text/html");// Enviar toda a mensagemSend the messageTransport.send(message);}}
Porem não estou conseguindo enviar anexo junto a isso alguem tem uma ideia.
// Altere o MimeMessage para MessageMessagemsg=newMimeMessage(session);// Sete suas informacoes...// Altere o MimeBodyPart para BodyPartBodyPartmessageBodyPart=newMimeBodyPart();// Seta as informacoes necessarias...// Adicionado mensagemMultipartmultipart=newMimeMultipart();multipart.addBodyPart(messageBodyPart);// Adiciona anexosBodyPartbodyPart=newMimeBodyPart();FileDataSourcefileDataSource=newFileDataSource(newFile("c:\arquivo.pdf")){@OverridepublicStringgetContentType(){return"application/octet-stream";}};bodyPart.setDataHandler(newDataHandler(fileDataSource));bodyPart.setFileName("arquivo.pdf");multipart.addBodyPart(bodyPart);// add anexo// Finalizando mensagem para transportarmsg.setContent(multipart);// Agora vc tenta enviar de acordo com seu provedor de email...
Espero q funcione, abraço.
fabricioempresa
Bah cara nao consegui tem como tu colocar + ou - como seria o resto do código Obrigado pela atenção.
rdmardegam
Estou enviando com um email do gmail
//Objeto encarregado de enviar os dados para o email Transporttr;try{tr=session.getTransport(mailProtocolo);//define smtp para transporte /**1-defineoservidorsmtp*2-seunomedeusuario*3-suasenha*/tr.connect(mailServer,userMail,userMailSenha);msg.saveChanges();//envio da mensagem tr.sendMessage(msg,msg.getAllRecipients());tr.close();System.out.println("EMAIL ENVIADO");}catch(Exceptione){// TODO Auto-generated catch block System.out.println(">> Erro: Envio Mensagem");e.printStackTrace();}
fabricioempresa
Eu tenho o seguite código ele até anexa alguma coisa mas não é o documento correto
importjava.io.File;importjava.util.Properties;importjavax.activation.CommandMap;importjavax.activation.DataHandler;importjavax.activation.FileDataSource;importjavax.activation.MailcapCommandMap;importjavax.mail.Authenticator;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=FileConfig.getInstance().getsmtp();privateStringhost=server;/* endereço do servidor smtp */publicclassSMTPAuthenticatorextendsAuthenticator{@OverridepublicPasswordAuthenticationgetPasswordAuthentication(){Stringuser=FileConfig.getInstance().getuser();Stringpwd=FileConfig.getInstance().getpwd();Stringusername=user;Stringpassword=pwd;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=FileConfig.getInstance().getuser();message.setFrom(newInternetAddress(from));message.addRecipient(Message.RecipientType.TO,newInternetAddress(para));//message.setSubject(assunto);message.setSubject(assunto);//JOptionPane.showMessageDialog(null,message.getFrom()[0].toString() + " " + message.getAllRecipients()[0].toString());// Criar parte da mensagemMimeBodyPartmessageBodyPart=newMimeBodyPart();// Texto da mensagemFileDataSourcefileDataSource=newFileDataSource(newFile("C:\relatoriodia.xls"));messageBodyPart.setDataHandler(newDataHandler(fileDataSource));messageBodyPart.setFileName("relatoriodia.xls");messageBodyPart.setText(mensagem);Multipartmultipart=newMimeMultipart();multipart.addBodyPart(messageBodyPart);//Enviar parte da mensagemmessage.setContent(multipart);//,mensagem.toString(), "text/html");//Enviar toda a mensagemSend the messageTransport.send(message);}}
Ele envia um arquivo texto em vez de um pdf
rdmardegam
Fiz uma alteração, porem acho q será enviado só o anexo, e o texto não será enviado. Me add no msn qualquer coisa, [email removido]
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 mensagem MimeMessagemessage=newMimeMessage(session);Stringfrom="[email removido]";message.setFrom(newInternetAddress(from));message.addRecipient(Message.RecipientType.TO,newInternetAddress(para));//message.setSubject(assunto); message.setSubject(assunto);//JOptionPane.showMessageDialog(null,message.getFrom()[0].toString() + " " + message.getAllRecipients()[0].toString()); // Criar parte da mensagem MimeBodyPartmessageBodyPart=newMimeBodyPart();// Texto da mensagem BodyPartbodyPart=newMimeBodyPart();FileDataSourcefileDataSource=newFileDataSource(newFile("C:\relatorio.xls")){@OverridepublicStringgetContentType(){return"application/octet-stream";}};bodyPart.setDataHandler(newDataHandler(fileDataSource));bodyPart.setFileName("relatoriodia.xls");messageBodyPart.setText(mensagem);Multipartmultipart=newMimeMultipart();multipart.addBodyPart(bodyPart);//Enviar parte da mensagem message.setContent(multipart);//,mensagem.toString(), "text/html"); //Enviar toda a mensagemSend the message Transport.send(message);}
fabricioempresa
Cara você testou e funcionou?
Vou ver com o pessoal do Ti se eles me liberam o msn.
rdmardegam
Não, não testei!!
fabricioempresa
Blz vou ver aquio como vou fazer
rdmardegam
Tenta fazer parecido com o meu primeiro post.
Abraço.
Qualquer coisa fala ae
fabricioempresa
FUNCIONO DEI UMA GRANDE PENSADA AQUI E FUNCIONO CERTINHO
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=FileConfig.getInstance().getsmtp();privateStringhost=server;/* endereço do servidor smtp */publicclassSMTPAuthenticatorextendsAuthenticator{@OverridepublicPasswordAuthenticationgetPasswordAuthentication(){Stringuser=FileConfig.getInstance().getuser();Stringpwd=FileConfig.getInstance().getpwd();Stringusername=user;Stringpassword=pwd;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=FileConfig.getInstance().getuser();message.setFrom(newInternetAddress(from));message.addRecipient(Message.RecipientType.TO,newInternetAddress(para));message.setSubject(assunto);// Criar parte da mensagemMimeBodyPartmessageBodyPart=newMimeBodyPart();// Texto da mensagemmessageBodyPart.setText(mensagem);Multipartmultipart=newMimeMultipart();multipart.addBodyPart(messageBodyPart);BodyPartbodyPart=newMimeBodyPart();FileDataSourcefileDataSource=newFileDataSource(newFile("c:\relatoriodia.xls"));bodyPart.setDataHandler(newDataHandler(fileDataSource));bodyPart.setFileName("relatoriodia.xls");multipart.addBodyPart(bodyPart);// Enviar parte da mensagemmessage.setContent(multipart);message.setFileName("relatoriodia.xls");//message.setContent(mensagem.toString(), "text/html");Transport.send(message);}}
rdmardegam
Entao show de bola, parabens.
Agora so se voce precisar, tente implementar para enviar varios anexos ou se isso já resolve show de bola.
Flw
fabricioempresa
Bah velho boa ideia vour ver como posso fazer um dia em que eu tiver mais tempo.Mas agradeço demais pela sua ajuda.Quando você quizer
eu estou ai para lhe ajudar 8)