Pessoal,
Eu estou com um erro que aparece quando tento enviar e-mail por um sistema em Java que estou criando:
Criei um pacote com uma classe chamada “Email”, o código está abaixo:
package Email;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.swing.JOptionPane;
public class Email {
private String remetente = "email@dominio.com.br";
private String senha = "xxxxxxx";
private String destino = "email@dominio.com.br";
private String assunto;
private String mensagem;
private Properties props = new Properties();
String getRemetente(){
return this.remetente;
}
String getSenha(){
return this.senha;
}
String getDestino(){
return this.destino;
}
String getAssunto(){
return this.assunto;
}
String getMensagem(){
return this.mensagem;
}
public void setRemetente (String remetente){
this.remetente=remetente;
}
public void setSenha (String senha){
this.senha=senha;
}
public void setDestino (String destino){
this.destino=destino;
}
public void setAssunto (String assunto){
this.assunto=assunto;
}
public void setMensagem (String mensagem){
this.mensagem=mensagem;
}
public void enviar() {
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host","smtp.dominio.com.br");
props.put("mail.smtp.socketFactory.port","587");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.ssl.enable","false");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.auth","true");
props.put("mail.smtp.port","587");
Session session = Session.getInstance(props, new Authenticator() {
public javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(getRemetente(), getSenha());
}
});
session.setDebug(true);
try{
Message message = new MimeMessage(session);
Address[] toUser = InternetAddress.parse(destino);
message.setRecipients(Message.RecipientType.TO, toUser);
message.setSubject(assunto);
message.setContent(mensagem,"text/html");
Transport.send(message);
}
catch(MessagingException erro){
JOptionPane.showMessageDialog(null, "Erro ao enviar mensagem"+erro);
}
}
}
- no botão "enviar email" está o seguinte código:
Email envia_email = new Email();
envia_email.setAssunto("Abertura de Solicitação de Manutenção");
envia_email.setDestino("email@dominio.com.br");
envia_email.setMensagem("Este e-mail foi enviado por: solicitacao@dominio.com.br" + "\n" +
"Você recebeu esta e-mail, pois há uma solicitação de manutenção." + "\n\n" +
"------------------------------------------------" + "\n" +
"IMPORTANTE!" + "\n" +
"------------------------------------------------" + "\n" +
"Verificar no sistema a solicitação" + "\n\n");
try{
envia_email.enviar();
}
catch (Exception erro){
erro.printStackTrace();
}
MAs quando clico no botão dá o seguinte erro:
DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host “smtp.dominio.com.br”, port 587, isSSL false
DEBUG SMTP: exception reading response: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
As bibliotecas estão importadas no projeto e são:dsn, guimap, imap, mailapi, pop3, smtp, mail e commons-email-1.5
Alguma solução? Já tentei de tudo