Olá pessoal, tudo bem?..Estou tentando enviar um e-mail para o gmail através do javamail, mas não estou conseguindo êxito…pois aparece um erro quando mando rodar o programa. O erro é : javax.mail.MessagingException: 530 5.5.1 Authentication Required i10sm6997567wxd. Abaixo segue o código fonte :
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 com.sun.net.ssl.internal.ssl.Provider;
public class Email {
static String[] listaEmailsPara = {"user@gmail.com ('mailto:user@gmail.com')", "user2@gmail.com ('mailto:user2@gmail.com')"};
static String assuntoEmail = "Teste de envio de email usando JavaMail.";
static String mensagemEmail = "Conteudo da Mensagem do envio de\n email usando JavaMail";
public void enviaEmail(String para[], String de, String assunto, String mensagem){
java.security.Security.addProvider(new Provider());
Properties props = new Properties();
props.put("mail.transport.protocol","smtp"); // diz que utilizarei um protocolo de seguran�a
props.put("mail.smtp.starttls.enable","true"); // diz que utilizarei o protocolo de seguran�a TLS
props.put("mail.smtp.host","smtp.gmail.com"); // diz que o servidor que estou mandando � o gmail
props.put("mail.smtp.auth","true"); // diz que � necess�rio uma autentica��o
props.put("mail.smtp.user", "user@gmail.com ('mailto:user@gmail.com')");
props.put("mail.debug", "true");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.debug", "true");
props.put("mail.mime.charset", "ISO-8859-1");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
Authenticator auth = new Autenticacao();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(true);
Message msg = new MimeMessage(session);
try {
InternetAddress endDe = new InternetAddress(de);
msg.setFrom(endDe);
InternetAddress[] endsPara = new InternetAddress[listaEmailsPara.length];
for (int i = 0; i < listaEmailsPara.length; i++){
endsPara[i] = new InternetAddress(listaEmailsPara[i]);
System.out.println("");
}
msg.setRecipients(Message.RecipientType.TO, endsPara);
msg.setSubject(assunto);
msg.setContent(mensagem, "text/plain");
Transport transport = session.getTransport("smtp");
msg.saveChanges();
transport.send(msg);
transport.close();
System.out.print("Mensagem Enviada com Sucesso");
} catch (Exception e) {
System.out.println("Erro: " + e);
e.printStackTrace();
}
}
private class Autenticacao extends javax.mail.Authenticator{
public PasswordAuthentication getPasswordAuthentication(){
String user = "user@gmail.com ('mailto:user@gmail.com')"; //(ex: "teste@gmail.com ('mailto:teste@gmail.com')")
String pwd = " ";
return new PasswordAuthentication(user, pwd);
}
}
public static void main(String[] args){
Email m = new Email();
m.enviaEmail(listaEmailsPara,“de”,assuntoEmail,mensagemEmail); //“de” =quem envia, n�o funciona no gmail (para evitar spans)
}
}