Ola a todos, tenho uma aplicacao que deve notificar o usuario atraves de emails e para isso estou usando o javax.mail, porém já li alguns tutorias e a coisa nao vai para frente (li inclusive o artigo aqui do fórum). Bom, eu me cadastrei no gmail e posteriormente configurei o outlook para gerenciar os emails da minha conta no gmail. Com a configuracao esta tudo bem, pois tenho acesso aos servicos do gmail, porem, quando executo o metodo abaixo tenho uma excecao:
import java.net.Authenticator;
import java.util.Date;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
*
* @author Proprietário
*/
public class EmailJob {
public void notificar(){
System.out.println("iniciando");
Properties p = new Properties();
//p.put("mail.smtp.host", "GMAIL");
p.put("mail.smtp.host", "smtp.gmail.com");
p.put("mail.smtp.port", "995");
p.put("mail.transport.protocol", "smtp");
p.put("mail.smtp.starttls.enable","true");
p.put("mail.smtp.auth", "true");
//java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
SMTPAuthenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(p, auth);
System.out.println("sessao");
MimeMessage msg = new MimeMessage(session);
System.out.println("mime");
try {
msg.setFrom(new InternetAddress("vinicius.empresa@gmail.com"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("vinicius.empresa@gmail.com"));
msg.setSentDate(new Date());
msg.setSubject("Testando java mail");
msg.setText("Apenas um testando novamente!!!");
System.out.println("vai enviar");
Transport.send(msg);
System.out.println("Enviou a mensagem!");
}
catch (AddressException e) {
Logger.getLogger(EmailJob.class.getName()).log(Level.SEVERE, null, e);
}
catch (MessagingException e) {
Logger.getLogger(EmailJob.class.getName()).log(Level.SEVERE, null, e);
}
}
public static void main(String [] asdf) {
try {
new EmailJob().execute(null);
} catch (JobExecutionException ex) {
Logger.getLogger(EmailJob.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("vinicius.empresa@gmail.com", "xxx");
}
}
e a excecao que tenho eh o seguinte:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 995, response: -1
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1201)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:311)
at javax.mail.Service.connect(Service.java:255)
at javax.mail.Service.connect(Service.java:134)
at javax.mail.Service.connect(Service.java:86)
at com.sun.mail.smtp.SMTPTransport.connect(SMTPTransport.java:144)
at javax.mail.Transport.send0(Transport.java:150)
at javax.mail.Transport.send(Transport.java:80)
Agradeco muito!