Enviar email com JavaMail?

Salve galera…estou tentando mandar email com API JavaMail e naum estou conseguindo

aqui o codigo.

import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.swing.JOptionPane;

/**
 *
 * @author fernegao
 */
public class EnviarEmail {
    private String mailSMTPServer;  
    private String mailSMTPServerPort; 
    
    public EnviarEmail(){
        mailSMTPServer = "smtp.gmail.com";  
        mailSMTPServerPort = "465";  
    }
    
    public void envia(){
        Properties p = new Properties();
        p.put("mail.transport.protocol", "smtp"); //define protocolo de envio como SMTP  
        p.put("mail.smtp.starttls.enable","true");   
        p.put("mail.smtp.host", mailSMTPServer); //server SMTP do GMAIL  
        p.put("mail.smtp.auth", "true"); //ativa autenticacao  
        p.put("mail.smtp.user", "fernando@gmail.com"); //usuario ou seja, a conta que esta enviando o email (tem que ser do GMAIL)  
        p.put("mail.debug", "true");  
        p.put("mail.smtp.port", mailSMTPServerPort); //porta  
        p.put("mail.smtp.socketFactory.port", mailSMTPServerPort); //mesma porta para o socket  
        p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");  
        p.put("mail.smtp.socketFactory.fallback", "false");  
        
        Authenticator auth = new Authenticator() {
            PasswordAuthentication p = new PasswordAuthentication("fernando@gmail.com", "xxxxxx");
        };
        
        Session s = Session.getDefaultInstance(p,auth);
        Message m = new MimeMessage(s);
        try{
            //destinatario
            m.setRecipient(Message.RecipientType.TO, new InternetAddress("fernandopaiva@yahoo.com"));
            //remetente
            m.setFrom(new InternetAddress("fernando@gmail.com"));
            //assunto
            m.setSubject("teste de email");
            //corpo msg
            m.setContent("corpo do email","text/plain");
            
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
        
        Transport tr;
        try{
            tr = s.getTransport("smtp");
            tr.connect(mailSMTPServer, "fernando@gmail.com", "xxxxxxx");
            m.saveChanges();
            tr.sendMessage(m, m.getAllRecipients());
            tr.close();            
        }catch(Exception e){
            system.out.println(e.getmessage());
        }
    }
}

Alguma dica ???

obrigado

cara,

pq vc nao usa Common Email, bem mais simples e facil de usuar.

t+

[quote=alissonvla]cara,

pq vc nao usa Common Email, bem mais simples e facil de usuar.

t+[/quote]

Realmente muito melhor e mais pratico…Muito legal.

Vlw, obrigado

rsrsrs… outra coisa que você poderia ter me perguntado, porque também ja uso o JavaMail, você gosta de sofrer.

import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class JavaMailApp
{
      
      public void enviaEmail(final String remetente,String destinatario, String assunto, String menssagem) throws MessagingException{
            Properties props = new Properties();
        
            /** Parâmetros de conexão com servidor Gmail */
             props.put("mail.smtp.host", "smtp.gmail.com");
             props.put("mail.smtp.socketFactory.port", "465");
             props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
             props.put("mail.smtp.auth", "true");
             props.put("mail.smtp.port", "465");

            Session session = Session.getDefaultInstance(props,
                        new javax.mail.Authenticator() {
                             protected PasswordAuthentication getPasswordAuthentication()
                             {
                                   return new PasswordAuthentication("seuemail@gmail.com","suasenha");
                             }
                        });

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


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

                  Address[] toUser = InternetAddress //Destinatário(s)
                             .parse(destinatario);  // ex: juliano@ibg.ind.br,cesar@ibg.ind.br,cristina@ibg.ind.br

                  message.setRecipients(Message.RecipientType.TO, toUser);
                  message.setSubject(assunto);//Assunto
                  message.setText(menssagem);                  
                  /**Método para enviar a mensagem criada*/
                  Transport.send(message);

     } 
}