[Resolvido]Enviar email por uma aplicacao java com anexo

8 respostas
D

Abaixo esta o codigo do botao que seleciona o anexo na caixa7 era pra ficar a url do anexo porem ela nao aparece....

String url = "";  
      
    JFileChooser chooser = new JFileChooser();    
    int returnVal = chooser.showOpenDialog(caixa7);    
    if(returnVal == JFileChooser.APPROVE_OPTION) {    
        url = chooser.getSelectedFile().getPath();    
    }    
      
    FileDataSource fds = new FileDataSource(url);

E este e o botao que envia o email em anexo porem nao esta anexando nada no email o que posso fazer para que isso funcione?
alguem que ja fez isso em uma aplicacao pode ajudar?

botao1.addActionListener(new ActionListener() {      
                    public void actionPerformed(ActionEvent e) {      
                        Properties props = new Properties();      
                        if (j.getSelectedItem().equals("Hotmail")) {      
                            /** Parâmetros de conexão com servidor Hotmail */      
                            props.put("mail.transport.protocol", "smtp");      
                            props.put("mail.smtp.host", "smtp.live.com");      
                            props.put("mail.smtp.socketFactory.port", "587");      
                            props.put("mail.smtp.socketFactory.fallback", "false");      
                            props.put("mail.smtp.starttls.enable", "true");      
                            props.put("mail.smtp.auth", "true");      
                            props.put("mail.smtp.port", "587");      
                        } else if (j.getSelectedItem().equals("Gmail")) {      
                            props.put("mail.smtp.auth", "true");      
                            props.put("mail.smtp.starttls.enable", "true");      
                            props.put("mail.smtp.host", "smtp.gmail.com");      
                            props.put("mail.smtp.port", "587");      
                        } else if (j.getSelectedItem().equals("Bol")) {      
                            props.put("mail.smtp.auth", "true");      
                            props.put("mail.smtp.starttls.enable", "true");      
                            props.put("mail.smtp.host", "smtps.bol.com.br");      
                            props.put("mail.smtp.port", "587");      
                        } else if (j.getSelectedItem().equals("Ibest")) {      
                            props.put("mail.smtp.auth", "true");      
                            props.put("mail.smtp.starttls.enable", "true");      
                            props.put("mail.smtp.host", "smtp.ibest.com.br");      
                            props.put("mail.smtp.port", "587");      
                        } else if (j.getSelectedItem().equals("Ig")) {      
                            props.put("mail.smtp.auth", "true");      
                            props.put("mail.smtp.starttls.enable", "true");      
                            props.put("mail.smtp.host", "smtp.ig.com.br");      
                            props.put("mail.smtp.port", "587");      
                        }      
      
                            Session session = Session.getInstance(props,      
                                    new javax.mail.Authenticator() {      
                                        protected PasswordAuthentication getPasswordAuthentication() {      
                                            return new PasswordAuthentication(caixa1      
                                                    .getText(), caixa6.getText());      
                                        }      
                                    });     
              
                            try {      
              
                                Message message = new MimeMessage(session);      
                                message.setFrom(new InternetAddress(caixa1.getText()));      
                                message.setRecipients(Message.RecipientType.TO,      
                                        InternetAddress.parse(caixa2.getText()));      
                                message.setSubject(caixa3.getText());      
                                message.setText(caixa4.getText());    
                                  
                                 
                                MimeBodyPart mbp2 = new MimeBodyPart();  
                               FileDataSource fds = new FileDataSource("c:\\teste\\User.txt");        
                               mbp2.setDataHandler(new DataHandler(fds));        
                                mbp2.setFileName(fds.getName());       
                  
                               Multipart mp = new MimeMultipart();        
                               mp.addBodyPart(mbp2);        
                            
                                  
              
                                Transport.send(message);      
              
                                JOptionPane.showMessageDialog(null,      
                                        "Email Enviado com Sucesso");      
              
                            } catch (MessagingException e1) {      
                                throw new RuntimeException(e1);      
                            }      
                      
                        }      
              
                });

8 Respostas

L
Faltou somente: message.setContent(mp);
try {        
                
                                Message message = new MimeMessage(session);        
                                message.setFrom(new InternetAddress(caixa1.getText()));        
                                message.setRecipients(Message.RecipientType.TO,        
                                        InternetAddress.parse(caixa2.getText()));        
                                message.setSubject(caixa3.getText());        
                                message.setText(caixa4.getText());      
                                    
                                   
                                MimeBodyPart mbp2 = new MimeBodyPart();    
                               FileDataSource fds = new FileDataSource("c:\\teste\\User.txt");          
                               mbp2.setDataHandler(new DataHandler(fds));          
                                mbp2.setFileName(fds.getName());         
                    
                               Multipart mp = new MimeMultipart();          
                               mp.addBodyPart(mbp2);          
                              
                               message.setContent(mp);
                
                                Transport.send(message);        
                
                                JOptionPane.showMessageDialog(null,        
                                        "Email Enviado com Sucesso");        
                
                            } catch (MessagingException e1) {        
                                throw new RuntimeException(e1);        
                            }
D

Ola bom dia, faz muito tempo que postei o tópico acho que ja ate consegui fazer com que a aplicação enviasse e-mails anexos.

L

xD eu imaginei. Mas fica ai pra quem tiver tentando.

D

sim sim com certeza sempre programadores tem que se ajudar é o que eu acho

G

qual o .jar que está utilizando?

D

nao to em casa pra verifica pra vc quando eu chega eu do uma olhada

D

lembro que usei algum tutorial da internet e la acho que falava o jar eu tenho uma pasta que tem varios jar deixo tudo misturado rs

D

aqui neste site explica tudo ja

Criado 28 de junho de 2012
Ultima resposta 19 de jul. de 2013
Respostas 8
Participantes 3