Email java

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…