Gostaria de saber onde estou errando neste codigo para enviar um email…Ele sempre está entrando no catch(MessagingException):
package com.teste;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
public static void main(String[] args){
try {
String mailServer = "smtp.gmail.com";
String assunto = "Teste de e-mail";
String para = "[email removido]";
String de = "[email removido]";
String mensagem = "Oi! Testando envio de e-mail!!!";
new Email().sendSimpleMail(mailServer, assunto, para, de, mensagem);
System.out.println("Email enviado com sucesso!!!");
}
catch(AddressException e) {
System.out.println("Email inválido");
}
catch (MessagingException e) {
System.out.println("Não foi possível enviar o e-mail");
}
}
public void sendSimpleMail(String mailServer, String subject, String to,
String from, String mensagem) throws AddressException,
MessagingException {
Properties mailProps = new Properties();
// definição do mailserver
mailProps.put("smtp.gmail.com", mailServer);
Session mailSession = Session.getDefaultInstance(mailProps, null);
// As duas linhas seguintes de código, colocam no formato de endereços,
// supostamente válidos, de email os dados passados pelos parâmetros to
// e from.
InternetAddress destinatario = new InternetAddress(to);
InternetAddress remetente = new InternetAddress(from);
// As duas linhas de código a seguir, são responsáveis por setar os
// atributos e
// propriedas necessárias do objeto message para que o email seja
// enviado.
// inicialização do objeto Message
Message message = new MimeMessage(mailSession);
// Definição de quem está enviando o email
message.setFrom(remetente);
// define o(s) destinatário(s) e qual o tipo do destinatário.
// os possíveis tipos de destinatário: TO, CC, BCC
message.setRecipient(Message.RecipientType.TO, destinatario);
// definição do assunto do email
message.setSubject(subject);
// definição do conteúdo da mesnagem e do tipo da mensagem
message.setContent(mensagem.toString(), "text/plain");
// a linha de código seguinte é a responsável pelo envio do email
Transport.send(message);
}
}