Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Seguinte, tenho um método que monta o corpo de um email, ele é bastante simples, faz um select no banco de dados coloca nas variáveis que eu quero e pronto. E tenho um outro que envia.
Ambos funcionam e não me dão problema minha dúvida ta sendo o seguinte. Como juntar os dois. Fazer com que o método que monta o email, após montar chame o método de enviar.
package enviaemail;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.logging.Level;
import java.util.logging.Logger;
import Util.ConexaoBanco;
import java.sql.Date;
public class MontaEmail {
private static Connection conn;
private static String query;
private static ResultSet resultSet;
private static PreparedStatement prest;
public static String corpo;
private static Object enviaemail;
private static EnviaEmail enviaremail;
public static void main(String[] args) {
try {
conn = ConexaoBanco.getConexaoBanco();
String sql;
sql = "SELECT nome , assunto , destino from mail";
prest = conn.prepareStatement(sql);
// prest.setInt(1,1); // Pra que serve isso aqui?
ResultSet rs = prest.executeQuery();
while (rs.next()) {
String nome = rs.getString ("nome");
String assunto = rs.getString ("assunto");
String destino = rs.getString ("destino");
corpo = ""
+ "Controle de Emails\n"
+ "Email para" + nome;
System.out.println("Mail:" + corpo);
}
} catch (Exception ex) {
Logger.getLogger(MontaEmail.class.getName()).log(Level.SEVERE, null, ex);
}
EnviaEmail em = new EnviaEmail();
}
}
Classe que envia.
package enviaemail;
import enviaemail.MontaEmail;
import java.util.Date;
import java.util.Properties;
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.activation.*;
public class EnviaEmail {
/**
* @param args the command line arguments
*/
public boolean envia (String titulo, String destinatario, String corpo) throws MessagingException {
String host = "meusmtp";
String to = destinatario;
String from = "noReply@meusmtp.com";
String subject = "Teste de Email";
String messageText = corpo;
Properties props = System.getProperties();
props.put("mail.host", host);
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.starttls.enable", "true");
Session mailSession = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(titulo);
msg.setSentDate(new Date());
msg.setText(corpo);
Transport transport = mailSession.getTransport("smtp");
try {
transport.connect();
transport.sendMessage(msg, address);
return true;
} catch (Exception e ){
return false;
}finally {
transport.close();
}
}
}
Aparentemente só preciso chamar o método enviar e passar as variáveis pra ele.
é algo simples creio eu.
Carregando comentários...