pessoal tenho uma duvida…
tenho um codigo que envia email pelo netbeans, até ai tudo bem…
na mesma classe tenho uma conexao com o banco faz uma busca no banco…
eu preciso criar um email de cobrança, ou seja enviar vários titulos qe estou buscando do banco e colocar no corpo do email…
nao sei como fazer isso… no momento qe estou buscando as informaçoes no banco nao sei onde armazena-las para poder enviar…
por exemplo, um determinado cliente tem 2 titulos para vencer, preciso enviar os 2 titulos para ele, mas só estou conseguindo enviar um por vez…
alguem tem alguma ideia??
Desculpe, mas não entendi o que você está querendo fazer, explique um pouco melhor onde está a dúvida.
Poste códigos.
Abraços;
Acesse http://programejava.blogspot.com/
Adiciona o retorno da pesquisa em uma lista, após isso faça um laço percorrendo a lista.
Dentro do laço vc chama o método e preenche o e-mail com o objeto na posição X.
Se entendi sua pergunta, acho q isso pode ajudar.
ja pensei em realmene fazer uma lista, mas nao sei onde relamente colocar o codigo… vou postar o codigo pra vc vcs possam me ajudar…
String sql = "select * from cliente";
PreparedStatement stmtt = conn.prepareStatement(sql);
ResultSet rss = stmtt.executeQuery();
while (rss.next()) {
Bean B = new Bean();
B.cod_empresa = rss.getInt("cod_empresa");
B.cod_grade = rss.getString("cod_grade");
B.den_grade = rss.getString("den_grade");
B.den_grade_reduz = rss.getString("den_grade_reduz");
}
o codigo acima faz a consulta no banco…
Properties p = new Properties();
p.put("mail.host", "192.168.0.237");
Session session = Session.getInstance(p, null);
MimeMessage msg = new MimeMessage(session);
try {
// "de" e "para"!!
msg.setFrom(new InternetAddress("marcos.stuchi@yahoo.com.br"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("marcos.stuchi@fiasini.com.br"));
// nao esqueca da data!
// ou ira 31/12/1969 !!!
msg.setSentDate(new Date());
msg.setSubject("Comunicado de títulos a vencer");
msg.setText(""); // aqui é onde eu coloco o corpo do email
// evniando mensagem (tentando)
Transport.send(msg);
} catch (AddressException e) {
// nunca deixe catches vazios!
} catch (MessagingException e) {
// nunca deixe catches vazios!
}
esse codigo é o qe faz enviar o email ao eu executar o projeto…
eu sei qe o meu select ta funcionando, porém quando eu peço pra enviar email, nesse linha msg.setText(""); // aqui é onde eu coloco o corpo do email
ele só envia um linha da minha tabel, quando na verdade eu pedi pra selecionar todas com o [quote]select * from[/quote]
eu sei que o meu select ta funcionando, porem quando eu coloco pra enviar o email nessa linha
Se fosse eu iria criar um metódo para preencher o corpo do e-mail.
Exemplo:
public boolean sendEmail(){
email.setFrom("fulano@hotmail.comr");
email.setTo("fulano@hotmail.com");
email.setSubject("Parabéns pelo seu aniversário");
email.setText(texto([b]objeto na posicao X da lista[/b]));
email.EnviaEmail();
}
private static String texto(ObjetodaLista obj) {
StringBuilder texto = new StringBuilder();
//aqui dentro o corpo do email, pode utilizar html, exemplo...
texto.append("<html>")
texto.append("<head></head>")
texto.append("<body>")
texto.append(obj.getNome) //exemplo de como utilizar o objeto para preencher o corpo do email
texto.append("</body>")
texto.append("</html>")
return texto.toString();
}
Acho q se der uma melhorada nesse código pode resolver seu problema.
Valeu…
entao amigo…
vi seu codigo, nao entendi mto bem…
eu nao estou conseguindo fazer a lista… nao sei como enviar essa lista por email tbm…
sera que ninguem poderia me ajudar?
Velho tenta assim…
PreparedStatement stmtt = conn.prepareStatement(sql);
ResultSet rss = stmtt.executeQuery();
List<Bean> listaBean = new ArrayList<Bean>();
while (rss.next()) {
Bean B = new Bean();
B.cod_empresa = rss.getInt("cod_empresa");
B.cod_grade = rss.getString("cod_grade");
B.den_grade = rss.getString("den_grade");
B.den_grade_reduz = rss.getString("den_grade_reduz");
listaBean.add(B);
}
enviaEmail(listaBean);
public static void enviaEmail(List<Bean> lista)
{
Properties p = new Properties();
p.put("mail.host", "192.168.0.237");
Session session = Session.getInstance(p, null);
MimeMessage msg = new MimeMessage(session);
try {
// "de" e "para"!!
msg.setFrom(new InternetAddress("marcos.stuchi@yahoo.com.br"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("marcos.stuchi@fiasini.com.br"));
// nao esqueca da data!
// ou ira 31/12/1969 !!!
msg.setSentDate(new Date());
msg.setSubject("Comunicado de títulos a vencer");
Iterator<Bean> it = lista.iterator();
while (it.hasNext())
{
msg.setText(it.next()); // aqui é onde eu coloco o corpo do email
}
// evniando mensagem (tentando)
Transport.send(msg);
} catch (AddressException e) {
// nunca deixe catches vazios!
} catch (MessagingException e) {
// nunca deixe catches vazios!
}
}
Se o código do diego.sas não lhe ajudar, avisa que vou postar um código que utilizo pra enviar os meus e-mails…
Mas acredito que a solução já foi postada…
Valeu…