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