Bom pessoal,
To ajudando um amigo meu no TCC e ele precisa que o sistema dele envie um orçamento por email, juntamente com fotos.
A parte de enviar o email com os dados do orçamento esta ok, porem não consigo enviar as fotos que estão salva no banco :S
A recuperação da foto do banco esta ok, ja fiz uns testes e ele mostra a imagem tranquilamente.
Segue meu código da classe que puxa as informações do banco monta o corpo da msg
public void enviarEmail(List<ListaOrcamento> lista, String total) throws Exception {
String msg = "";
super.conecta();
for(utilitarios.ListaOrcamento l : lista) {
msg += l.getQte() + " | " + l.getNome() + " | " + l.getPreco() + "\n";
String sql = "select foto from produtos where nome = '"+l.getNome()+"'";
super.sqlSelect(sql);
ResultSet rs = super.resultset;
rs.next();
byte[] foto = rs.getBytes("foto");
BufferedImage img = null;
try {
img = ImageIO.read(new ByteArrayInputStream(foto));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
msg += new ImageIcon(img) + "\n";
}
msg += "\n\n\nValor total: " + total;
utilitarios.Email e = new utilitarios.Email();
e.sendEmail(msg);
super.desconectar();
}
Agora a classe que envia a msg:
[code]
public class Email {
public void sendEmail(String msg) throws EmailException {
SimpleEmail email = new SimpleEmail();
//Utilize o hostname do seu provedor de email
System.out.println("alterando hostname...");
email.setHostName("smtp.gmail.com");
//Quando a porta utilizada não é a padrão (gmail = 465)
email.setSmtpPort(465);
//Adicione os destinatários
email.addTo("pedro", "Pedro");
//Configure o seu email do qual enviará
email.setFrom("pedro", "Pedro");
//Adicione um assunto
email.setSubject("Orçamento");
//Adicione a mensagem do email
email.setMsg(msg);
//Para autenticar no servidor é necessário chamar os dois métodos abaixo
System.out.println("autenticando...");
email.setSSL(true);
email.setAuthentication("meuEmail", "MinhaSenha");
JOptionPane.showMessageDialog(null, "Aguarde");
email.send();
JOptionPane.showMessageDialog(null, "Email enviado!");
}
}[/code]
Só lembrando que eu ocultei alguns dados como autenticação, to e from, pois como disse la em cima, no meu código ele envia o email, o problema eh na hora da imagem msm.