Olá Galera boa noite,
estou com um problemão com o JAVAMAIL. Quando vou implementar no código o métodos gets para recuperar das classe dele mesmo os dados pra o e-mail. Ele executa o método ENVIAR mas não envia :shock:
Alguém poderia me ajudar?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jdbc.mvc.controller;
import com.mysql.jdbc.PreparedStatement;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Properties;
import javax.swing.JOptionPane;
import jdbc.mvc.model.ConfiguracoesSmtp;
import jdbc.mvc.model.EmailModel;
import jdbc.mvc.model.Pessoa_model;
public class Email_CRUD {
public Email_CRUD() {
leDadosSMTP();
}
protected String usuario;
protected String senha;
private String arquivo = "configSMTP.dll";
private String mensagem;
private String assunto;
private String remetente;
private List<Pessoa_model> destinatarios;
private String host;
private String porta;
public String getAssunto() {
return assunto;
}
public void setAssunto(String assunto) {
this.assunto = assunto;
}
public List<Pessoa_model> getDestinatarios() {
return destinatarios;
}
public void setDestinatario(List<Pessoa_model> destinatarios) {
this.destinatarios = destinatarios;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
public String getPorta() {
return porta;
}
public void setPorta(String porta) {
this.porta = porta;
}
public String getRemetente() {
return remetente;
}
public void setRemetente(String remetente) {
this.remetente = remetente;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public void enviar() throws AddressException, MessagingException, SendFailedException {
System.out.println("Usuario:" + getUsuario());
System.out.println("Senha:" + getSenha());
System.out.println("Remetente:" + getRemetente());
System.out.println("Host:" + getHost());
System.out.println("Porta:" + getPorta());
Properties props = new Properties();
String protocol = "smtp";
props.put("mail." + protocol + ".auth", "true");
props.put("mail.smtp.host", getHost());
props.put("mail.smtp.port", getPorta());
props.put("mail.from", getRemetente());
Session session = Session.getInstance(props, null);
try {
MimeMessage msg = new MimeMessage(session);
InternetAddress para[] = new InternetAddress[getDestinatarios().size()];
msg.setFrom();
for(int i = 0 ; i < getDestinatarios().size(); i++) {
para[i] = new InternetAddress(getDestinatarios().get(i).getEmailpessoa());
System.out.println("Para: " + getDestinatarios().get(i).getEmailpessoa());
}
msg.setRecipients(Message.RecipientType.TO,
para);
msg.setSubject(getAssunto());
msg.setSentDate(new Date());
msg.setText(getMensagem());
msg.saveChanges();
Transport t = session.getTransport(protocol);
try {
t.connect(getUsuario(), getSenha());
t.sendMessage(msg, msg.getAllRecipients());
} finally {
t.close();
System.out.println("Enviado!");
}
} catch (MessagingException mex) {
System.out.println("send failed, exception: " + mex);
}
}
private void leDadosSMTP() {
ObjectInputStream is;
ConfiguracoesSmtp c = new ConfiguracoesSmtp();
try {
is = new ObjectInputStream(new FileInputStream(arquivo));
try {
c = (ConfiguracoesSmtp) is.readObject();
setUsuario(c.getUsuario());
setSenha(c.getSenha());
setHost(c.getEndereco());
setRemetente(c.getUsuario());
setPorta(String.valueOf(c.getPorta()));
//System.out.println("Usuario:" + getUsuario());
//System.out.println("Senha:" + getSenha());
//System.out.println("Host:" + getHost());
//System.out.println("Porta:" + getPorta());
is.close();
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "Erro ao configurar servidor SMTP!","Erro",JOptionPane.ERROR_MESSAGE);
}
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "Erro ao configurar servidor SMTP!","Erro",JOptionPane.ERROR_MESSAGE);
}
}
public void cadastraEmailEnviado(EmailModel dados) {
try
{
Conexao_crm co = new Conexao_crm();
PreparedStatement stmt = (PreparedStatement) co.con.prepareStatement(
"INSERT INTO Email (Data, Assunto, Descricao) " +
"VALUES(?,?,?)");
DateFormat dataform = new SimpleDateFormat("yyyyMMdd");
String data = dataform.format(dados.getData());
stmt.setString(1, data);
stmt.setString(2, dados.getAssunto());
stmt.setString(3, dados.getDescricao());
stmt.execute();
stmt = null;
for(int i = 0; i < dados.getPessoa().size(); i++) {
stmt = (PreparedStatement) co.con.prepareStatement(
"INSERT INTO emailenviado (Data, Assunto, Descricao) " +
"VALUES(?,?,?)");
}
stmt.close();
JOptionPane.showMessageDialog(null, "Pessoa cadastrada com sucesso");
}//try
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, "ERRO..." + e.getMessage(), "Cadastro Email",0);
}//catch
}
}
Obrigado.
