Botao enviar email nao acontece nada

12 respostas
D

ola gente este é meu botao de enviar porem quando clico nele nao acontece nada eu quero que quando ele seleciona numa jcombox hotmal faca o primeiro codigo e se selecionar gmail o segundo porem nao funfa ai embaixo esta meus while porem nao funciona nao apresenta erro nenhum so nao acontece nada com o botao o que esta errado?

codigo da minha j combo box adicionando os elementos

String[] add = {"Hotmail", "Gmail"};
    		final JComboBox j = new JComboBox(add);
    		j.addActionListener(null);

codigo do meu botao

botao1.addActionListener(new ActionListener() {  
				public void actionPerformed(ActionEvent e) { 
					String Hotmail = null;
					String Gmail = null;
//enquanto j for igual a hotmail faca
					while(j.getSelectedItem()==Hotmail){
                	 Properties props = new Properties();
                     /** 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");

                     Session session = Session.getDefaultInstance(props,
                                 new javax.mail.Authenticator() {
                                      protected PasswordAuthentication getPasswordAuthentication() 
                                      {
                                            return new PasswordAuthentication(caixa1.getText(),caixa6.getText());
                                      }
                                 });

                     /** Ativa Debug para sessão */
                     session.setDebug(true);

                     try {

                           Message message = new MimeMessage(session);
                           message.setFrom(new InternetAddress(caixa1.getText())); //Remetente

                           message.setRecipients(Message.RecipientType.TO, 
                           InternetAddress.parse(caixa2.getText())); //Destinatário(s)
                           message.setSubject(caixa3.getText());//Assunto
                           message.setText(caixa4.getText());
                           /**Método para enviar a mensagem criada*/
                           Transport.send(message);

                           JOptionPane.showMessageDialog(null,"Feito!!!");

                      } catch (MessagingException e1) {
                           throw new RuntimeException(e1);
                      }
					}//primeiro codigo ate aqui envio de email hotmail
//enquanto j for igual gmail faca
                            while(j.getSelectedItem()==Gmail){
		            Properties props = new Properties();
                	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");
                 
                	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());
                 
                		Transport.send(message);
                 
                		System.out.println("Done");
                 
                	} catch (MessagingException e1) {
                	throw new RuntimeException(e1);
                		
                	}
                }
				
                   
                }  
            }); //fim

alguem pode ajudar?

12 Respostas

d34d_d3v1l

Pq vc está fazendo isto:

j.addActionListener(null);

Não se compara String com ==, além do mais, vc fez j.getSelectedItem(), isto vai retornar um object. (se nao me engano)… coloca um toString no final…
Outra coisa pq está fazendo WHILE e não um if?

if(j.getSelectedItem().toString.equals("Hotmail"){
}else if(j.getSelectedItem().toString.equals("Gmail"){

}

Outra ciosa, vc viu que esta repetindo o mesmo código duas vezes? Se apenas algumas coisas mudam na hora de enviar o email, então faça o if apenas para configurar o necessário:

Properties props = new Properties();  
if(j.getSelectedItem().toString.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().toString.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");  

}  

                    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());  
                   
                        Transport.send(message);  
                   
                        System.out.println("Done");  
                   
                    } catch (MessagingException e1) {  
                    throw new RuntimeException(e1);  
                          
                    }  
                }  
                  
                     
                }

Pronto, o código agora está mais limpo.
Testa aí e depois posta o feedback.

Posso fazer uma pergunta pessoal? Mora em qual cidade?

abraz

D
dando pau no tostring nesta linha
if(j.getSelectedItem().toString.equals("Hotmail")){

e nesta linha

}else if(j.getSelectedItem().toString.equals("Gmail")){
D

tirei o to string funfoo :wink: agora assim amigo pode me ajuda em outra coisa?

eu coloquei um jlabel pra escreve minha mensagem e ela é só escrita no meio quero que pegue a caixa toda provavelmente nao é jlabel que usa deve ser outra coisa poderia me dizer?

obrigadaa \o

D

e estou digitando a senha na mesma janela nao queria digitar a senha na mesma janela acho que eu iria ter que criar outra classe pra configura salvar os dados no banco depois compara né o que daria mais trabalho rs moro em campo grande ms

D

sabe como adicionar um anexo neste email?

d34d_d3v1l

Calma Calma…
kkkkkkkkkkkkk

o toString deu pau? Ué achei que ele o combo retornaria um Object…
Mas tudo bem…

Sobre adicionar anexo,
veja a documentação da API do SendMail…

Ou veja quais os métodos que o Message
te oferece. :wink: Deve ter alguma coisa para adicionar
"Attachment"…

Sobre o JLabel eu nao entendi o que vc quis dizer…
poderia por favor ser mais clara ( e escrever com calma ) ?

obrigado!

D

entao rs eu to olhando hehe mais to confusa

D

esse do combobox ja resolvi brigadao so falta consegui agora envia email com anexo \o

to com o codigo assim

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");
				}
					//      MimeBodyPart mbp2 = new MimeBodyPart();  
					//  FileDataSource fds = new FileDataSource("caminho do arquivo");  
					//  mbp2.setDataHandler(new DataHandler(fds));  
					// mbp2.setFileName(fds.getName()); 

					//  Multipart mp = new MimeMultipart();  
					//  mp.addBodyPart(mbp2);  

					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());

						Transport.send(message);

						JOptionPane.showMessageDialog(null,
								"Email Enviado com Sucesso");

					} catch (MessagingException e1) {
						throw new RuntimeException(e1);
					}

				}

		});
ta vendo esta parte que esta comentada é este trecho de código que peguei pra anexar mais eu acho que ainda nao é isso e nao sei onde adiciona isso tinha adicionado dentro do try mais nada aconteceu os codigos que peguei de exemplo testei pra ver se entendia masi nenhum dos que eu peguei deu certo pra adicionar anexo eu acho que tenho que adicionar um campo na minha aplicacao e chama este anexo e add nao é isto tem ideia de como faco isso? porque campo de anexo é diferente ai embaixo vou posta o codigo todo da minha aplicacao essse é o codigo todo da minha janela
import java.awt.*;  
    import java.awt.event.*;  
    import java.text.SimpleDateFormat;  
    import java.util.Date;  
import java.util.Properties;
      
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
    import javax.persistence.EntityManager;  
    import javax.persistence.EntityManagerFactory;  
    import javax.persistence.Persistence;  
    import javax.swing.*;  

import sun.security.util.Password;
      
    
    import Modelo.Cliente;  
    import Modelo.Compra;  
    import Modelo.Conta;  
      
    import net.sf.jasperreports.engine.JasperPrint;  
import net.sf.jasperreports.view.JasperViewer;  
      
    //import controle.Utilitarios;  
      
    // Ctrl+Shift+F => Formata o código  
    // Ctrl+A e Ctrl+i => Formata a seleção  
      
    public class InterfaceEmail extends JFrame {  
		private JLabel rotulo1, rotulo2, rotulo3,rotulo4,rotulo5,rotulo6;  
        private JTextField caixa1, caixa2,caixa3;  
        private JButton botao1, botao2, botao3, botao4,botao5,botao6; 
        private JPasswordField caixa6;
        JTextArea caixa4;
        private static EntityManagerFactory fabricaDeEntidades = null;  
      
        private static EntityManager gerenciador = null;  
 
        //ImageIcon icone5;  
        public InterfaceEmail(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) throws Exception {  
            super("Envio de Email");  
            Container tela = getContentPane();  
      
            tela.setLayout(null);  
            fabricaDeEntidades=fabricaDeEntidades2;  
            gerenciador=gerenciador2;   
            //icone5 = new ImageIcon("100.gif");  
            botao1 = new JButton ("Enviar");  
   
           // botao6 = new JButton (icone5);  
      
            rotulo1 = new JLabel("Remetente:");  
            rotulo2 = new JLabel("Destinatário:");  
            rotulo3 = new JLabel("Assunto:");  
            rotulo4 = new JLabel("Mensagem:");  
            rotulo5 = new JLabel("Tipo de Email:");
            rotulo6 = new JLabel("Senha:");
            

            
            String[] add = {"Hotmail", "Gmail","Bol","Ibest","Ig"};
    		final JComboBox j = new JComboBox(add);
    		j.addActionListener(null);
      
            caixa1 = new JTextField();  
            caixa2 = new JTextField();  
            caixa3 = new JTextField();
            caixa4 = new JTextArea(); 
            caixa6 = new JPasswordField();
;   
      
            //botao1 = new JButton("Incluir");  
            //botao2 = new JButton("Alterar");  
            //botao3 = new JButton("Excluir");  
            //botao5 = new JButton("Sair");  
            //botao4 = new JButton("Listar Contas");  
            //botao6 = new JButton("Gerar Relatório");  
      
            // coluna, linha, largura, altura  
            rotulo1.setBounds(24, 40, 70, 20);  
            caixa1.setBounds(95, 40, 390, 20);  
      
            botao1.setBounds(24, 250, 70, 40);  
         
      
            rotulo2.setBounds(24, 70, 100, 20);  
            caixa2.setBounds(100, 70, 384, 20);  
              
            rotulo3.setBounds(24, 100, 60, 20);  
            caixa3.setBounds(75, 100, 410, 20);  
              
            rotulo4.setBounds(24, 160, 100, 20);  
            caixa4.setBounds(100, 160, 380, 250);  
              
            rotulo5.setBounds(24, 10, 100, 20);  
            j.setBounds(105, 10, 100, 20);  
            
            rotulo6.setBounds(24, 130, 100, 20);  
            caixa6.setBounds(65,130, 160, 20);  
              
  
            tela.add(rotulo1);  
            tela.add(caixa1);  
      
            //tela.add(rotulo2);  
            //tela.add(caixa2);  
      
            tela.add(botao1);  
 
           // tela.add(botao6);  
      
            tela.add(rotulo2);  
            tela.add(caixa2);  
              
            tela.add(rotulo3);  
            tela.add(caixa3);  
              
            tela.add(rotulo4);  
            tela.add(caixa4);  
              
            tela.add(rotulo5);  
            tela.add(j); 
            
            tela.add(rotulo6);
            tela.add(caixa6);
              

                  
            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");
				}
					//      MimeBodyPart mbp2 = new MimeBodyPart();  
					//  FileDataSource fds = new FileDataSource("caminho do arquivo");  
					//  mbp2.setDataHandler(new DataHandler(fds));  
					// mbp2.setFileName(fds.getName()); 

					//  Multipart mp = new MimeMultipart();  
					//  mp.addBodyPart(mbp2);  

					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());

						Transport.send(message);

						JOptionPane.showMessageDialog(null,
								"Email Enviado com Sucesso");

					} catch (MessagingException e1) {
						throw new RuntimeException(e1);
					}

				}

		});   
 
            // setSize(largura, altura);  
            setSize(500, 500);  
            setVisible(true);  
            setLocationRelativeTo(null);  
        }  
      
        public static void main(String[] args) throws Exception {  
      
            fabricaDeEntidades = Persistence  
                    .createEntityManagerFactory("TurmaN40PostgreSQL");  
      
            gerenciador = fabricaDeEntidades.createEntityManager();  
      
            InterfaceEmail app = new InterfaceEmail(fabricaDeEntidades, gerenciador);  
            app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
      
        }  
    }
d34d_d3v1l

Olha na API do SendMail…

Mas, uma simples pesquisa no google já me retornou:

http://www.tutorialspoint.com/java/java_sending_email.htm
http://www.javabeat.net/2007/10/sending-mail-from-java/

Pq não testa direito o trecho comentado?se nao me engano é exatamente o que o primeiro link “diz”…
outra coisa, usando a busca do guj encontrei:
http://www.guj.com.br/java/71082-enviar-email-com-anexo
http://www.guj.com.br/java/135877-java-mail-anexo-com-problemas-resolvido
http://www.guj.com.br/java/104331-enviar-email-com-anexo-resolvido

D

acho que o codigo pode ser que funfa desse jeito nao tenho certeza de acordo com o que li...bom a duvida que tenho e que assim nos emails normais vc tem um campo que anexo o
arquivo depois ele faz upload nao tem?acho que poderia ser criado um campo jlabel e jtextfield com um botao com o codigo pra fazer o upload nao sei bem o ao certo essa e minha duvida ai sim
pegar esse valor e enviar o email n sei se meu pensamento esta correto ou seria ai no meio deste codigo essa e minha duvida?que esta pegando.

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");  
                }  
                    //      MimeBodyPart mbp2 = new MimeBodyPart();    
                    //  FileDataSource fds = new FileDataSource("caminho do arquivo");    
                    //  mbp2.setDataHandler(new DataHandler(fds));    
                    // mbp2.setFileName(fds.getName());   
  
                    //  Multipart mp = new MimeMultipart();    
                    //  mp.addBodyPart(mbp2);    
  
                    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());
                        
                        mbp2 = new MimeBodyPart();  
                        FileDataSource fds = new FileDataSource(getServletContext().getRealPath("/") + nomeArquivo);  
                        mbp2.setDataHandler(new DataHandler(fds));  
                        mbp2.setFileName(fds.getName());  
                        mbp2.setFileName("nomeArquivo"));  
                        mp.addBodyPart(mbp2);  
                        message.setContent(mp);
                        
  
                        Transport.send(message);  
  
                        JOptionPane.showMessageDialog(null,  
                                "Email Enviado com Sucesso");  
  
                    } catch (MessagingException e1) {  
                        throw new RuntimeException(e1);  
                    }  
  
                }  
  
        });
D

troquei meu codigo pra isso aqui mais nao teve jeito deu erro

botao1.addActionListener(new ActionListener() {    
                public void actionPerformed(ActionEvent e) {    
                    String attach = null;
                    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");    
                    }    
                        //      MimeBodyPart mbp2 = new MimeBodyPart();      
                        //  FileDataSource fds = new FileDataSource("caminho do arquivo");      
                        //  mbp2.setDataHandler(new DataHandler(fds));      
                        // mbp2.setFileName(fds.getName());     
        
                        //  Multipart mp = new MimeMultipart();      
                        //  mp.addBodyPart(mbp2);      
                  
                        Session session = Session.getInstance(props,    
                                new javax.mail.Authenticator() {    
                                    protected PasswordAuthentication getPasswordAuthentication() {    
                                        return new PasswordAuthentication(caixa1    
                                                .getText(), caixa6.getText());    
                                    }    
                                });   
                        MimeMessage msg = new MimeMessage(session);  
                        MimeBodyPart mbp = new MimeBodyPart(); 
        
                        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());  
                              
                            DataSource fds = new FileDataSource(attach);  
                            mbp.setDisposition(Part.ATTACHMENT);  
                            mbp.setDataHandler(new DataHandler(fds));  
                            mbp.setFileName(fds.getName());  
                            
                            Multipart mp = new MimeMultipart();     
                            mp.addBodyPart(mbp);  
                            msg.setContent(mp);  
                              
                              
        
                            Transport.send(message);    
        
                            JOptionPane.showMessageDialog(null,    
                                    "Email Enviado com Sucesso");    
        
                        } catch (MessagingException e1) {    
                            throw new RuntimeException(e1);    
                        }    
                
                    }    
        
            });
erro

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.io.File.(Unknown Source)
at javax.activation.FileDataSource.(Unknown Source)
at InterfaceEmail$1.actionPerformed(InterfaceEmail.java:202)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

D

testei o codigo comentado e é isso ai com erro nenhum porem nao anexa nada...acho que era pra enviar como anexo o user.txt eu acho meu ultimo codigo que testei

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);    
                        }    
                
                    }    
        
            });
Criado 27 de junho de 2012
Ultima resposta 27 de jun. de 2012
Respostas 12
Participantes 2