E aí galera, seguinte, eu tenho um cadastro de visitantes, ok, quando eu realizo o cadastro de um visitante, o programa envia um email para o supervisor com os dados do visitante, ou seja, gera um “Relatório”, até aí tranquilo. Ele salva a imagem bonitinho, MASSSSSSSS, quando minha internet não está funcionando ele salva os dados menos a imagem, ele não cadastra a imagem da pessoa. Alguém sabe pq ocorre isso?
Minha verificação se a foto está vazia, pra ninguém ficar sem foto:
if (campofoto.getIcon() == null) {
JOptionPane.showMessageDialog(null, "Por favor, escolha uma foto!");
}
Meu insert no banco:
PreparedStatement pst = conecta.conn.prepareStatement("insert into visitantes (nome,bloco,apto,rg,veiculo,placa,cracha,dataentrada,horaentrada,datasaida,horasaida,prestador,imagem)values(?,?,?,?,?,?,?,?,?,?,?,?,?)");
pst.setString(1, camponome.getText());
pst.setString(2, (String) combobloco.getSelectedItem());
pst.setString(3, (String) comboapto.getSelectedItem());
pst.setString(4, camporg.getText());
pst.setString(5, campoveiculo.getText());
pst.setString(6, campoplaca.getText());
pst.setString(7, campocracha.getText());
pst.setString(8, dataentrada.getText());
pst.setString(9, horaentrada.getText());
pst.setString(10, datasaida.getText());
pst.setString(11, horasaida.getText());
pst.setString(12, campoprestador.getText());
pst.setBytes(13, person_image);
pst.executeUpdate();
JOptionPane.showMessageDialog(rootPane, "Cadastrado com Sucesso");
Minha classe de email:
String host = "smtp.gmail.com";
String user = "Usuário que vai enviar";
String pass = "Senha";
String to = "Destinatário 1";
String to2 = Destinatário 2";
//String to3 = "Destinatário 3";
String from = "Email do Remetente";
String qmEnvia = "Nome de quem envia";
String subject = "Relátorio de Posto do "+comboporteiro.getText()+" (Entrada de Visitante)";
String messageText = "<html><head></head><body><b>Olá Supervisor!</b><br/><br/>O Porteiro <b>"+comboporteiro.getText()+"</b> autorizou a entrada do visitante: <b>"+camponome.getText()+"</b> que foi ao: <b>"+combobloco.getSelectedItem()+"</b> - <b>"+comboapto.getSelectedItem()+"</b>.<br/><br/><b>RG:</b> "+camporg.getText()+" <br/><br/><b>Empresa:</b> "+campoprestador.getText()+" <br/><br/><b>Veículo:</b> "+campoveiculo.getText()+", <b>Placa:</b> "+campoplaca.getText()+" <br/><br/><b>Data e Hora:</b> "+campodh.getText()+"<br/><br/><br/><b>Obrigado.</b></body></html>";
boolean sessionDebug = true;
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.required", "true");
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to),new InternetAddress(to2)};// new InternetAddress(to2),new InternetAddress(to3)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setFrom(new InternetAddress(qmEnvia));
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setContent(messageText, "text/html;charset=UTF-8");
// Setando anexo
// FileDataSource fds = new
// FileDataSource("C:\\Users\\rbrasil\\Documents\\tre.pptx");
// msg.setDataHandler(new DataHandler(fds));
// msg.setFileName(fds.getName());
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, pass);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
System.out.println("Enviado com Sucesso");