bom dia, desculpe abri um tópico sem muito haver com o curso mais envolve web.
estou fazendo uma API simples que faz conexão com o banco pega algumas informações e manda email pro cliente com essas informações,
segue abaixo o código:
import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class ConsultaInadimplencia {
public static void main(String[] args) throws SQLException, EmailException {
Connection con = Conection.getConection();
Statement smt = con.createStatement();
ResultSet resultSet = smt.executeQuery(" select cr.FRE_IN_NUMERO, "
+ " cr.MOV_ST_PARCELA, " + " cr.MOV_DT_DATADOCTO, "
+ " cr.MOV_DT_VENCTO, " + " agn.agn_st_nome, "
+ " agn_st_email," + " cr.SALDO_EM_ABERTO "
+ " from mgfin.fin_vw_contasreceber cr, "
+ " mgglo.glo_agentes agn "
+ " where cr.agn_in_codigo = agn.agn_in_codigo "
+ " and cr.MOV_CH_SITUACAO <> 'C'"
+ " AND cr.MOV_DT_VENCTO = trunc(sysdate) - 2 "
+ " AND cr.AGN_IN_CODIGO <> 3 "
+ " AND cr.AGN_IN_CODIGO <> 103 "
+ " and cr.SALDO_EM_ABERTO > 10 ");
while (resultSet.next()) {
int fatura = resultSet.getInt("FRE_IN_NUMERO");
System.out.println("Fatura: " + fatura);
int parcela = resultSet.getInt("MOV_ST_PARCELA");
System.out.println("Parcela: " + parcela);
double saldo = resultSet.getDouble("cr.SALDO_EM_ABERTO");
System.out.println(saldo);
Date dataEmissao = resultSet.getDate("MOV_DT_DATADOCTO");
System.out.println("Data de emissão: " + dataEmissao);
Date vencimento = resultSet.getDate("MOV_DT_VENCTO");
System.out.println("Data de vencimento: " + vencimento);
String nome = resultSet.getString("agn_st_nome");
System.out.println("Nome do cliente: " + nome);
String email = resultSet.getString("agn_st_email");
System.out.println("Email: " + email + "\n");
SimpleEmail Email = new SimpleEmail();
Email.setHostName("smtp.gmail.com");
Email.setFrom(email);
Email.setAuthentication("gabriel@radex.com.br", "********");
Email.addTo("gabriel@radex.com.br");
Email.addBcc("gabriel@radex.com.br");
Email.setSubject("Pendência");
Email.setSmtpPort(587);
Email.setStartTLSEnabled(true);
Email.setMsg("Não identificamos em nosso sistema o pagamento do Cliente: "
+ nome
+ "NF: "
+ fatura
+ ","
+ "parcelas "
+ parcela
+ "no valor de R$"
+ saldo
+ ","
+ "com vencimento em "
+ vencimento
+ "Deste modo solicitamos entrar em contato para negociação, ou caso o débito "
+ "tenha sido regularizado, por favor nos envie cópia do comprovante para verificação"
+ "junto ao banco.\n");
Email.send();
}
con.close();
smt.close();
resultSet.close();
}
}
so que no fim ele me apresenta esse erro.
Exception in thread "main" java.lang.IllegalStateException: The MimeMessage is already built.
at org.apache.commons.mail.Email.buildMimeMessage(Email.java:1273)
at org.apache.commons.mail.Email.send(Email.java:1447)
at TesteEmail.main(Unknown Source)
alguem sabe oq seria isso?
muito obriigado.