Ir ao conteúdo
  • Cadastre-se

Enviar email java


fabryzio

Posts recomendados

Estou tentando fazer um projeto com eclipse que envia email mais estou com dificuldades para achar uma funçao que busca os dados cadastrados no banco de dados para que sejam mandados no email se alguem souber como faz para que seja buscado no banco de dados o nome, idade, codigo do cadastro e mandando por email


package email;

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class Enviar {
private String remetente;
private String destinatario;
private String smtpHost;
private String porta;
private String assunto;
private Properties propriedades;
private Session sessao;
private static String usuario;
private static String senha;

private static class Autenticacao extends Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(usuario, senha);
}
}

public Enviar(String remetente, String destinatario, String assunto,String smtpHost, String porta, String usuario, String senha) {
this.remetente = remetente;
this.destinatario = destinatario;
this.assunto = assunto;
this.smtpHost = smtpHost;
this.porta = porta;
this.usuario = usuario;
this.senha = senha;
this.propriedades = System.getProperties();
this.propriedades.put("mail.smtp.host", this.smtpHost);
this.propriedades.put("mail.smtp.auth", "true");
this.propriedades.put("mail.smtp.port", this.porta);
this.propriedades.put("mail.smtp.starttls.enable", "true");
this.propriedades.put("mail.smtp.socketFactory.port", this.porta);
this.propriedades.put("mail.smtp.socketFactory.fallback", "false");
this.propriedades.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
Authenticator auth = new Autenticacao();
this.sessao = Session.getDefaultInstance(this.propriedades, auth);
try {
Message mensagem = new MimeMessage(this.sessao);
mensagem.setSubject(this.assunto);
mensagem.setFrom(new InternetAddress(this.remetente));
mensagem.addRecipient(Message.RecipientType.TO,new InternetAddress(this.destinatario));
mensagem.setText("corpo da mensagem");Essa e a parte que gostaria de modificar , gostaria que aparece corpo da mensagem queria que fosse buscado no banco de dados todos os dados cadastrados dos clientes e fosse mandado via email , [i][u]
System.out.println("Enviando mensagem");
Transport.send(mensagem);
System.out.println("Mensagem enviada");
} catch (Exception err) {
System.out.println("Erro ao enviar mensagem");
}
}

public static void main(String args[])
{
String remetente = "email";
String destinatario = "email";
String assunto = "oi";
String smtpHost = "smtp.gmail.com";
String porta = "465";
String usuario = "[email protected]";
String senha = "senha";
Enviar env = new Enviar(remetente,destinatario,assunto, smtpHost,porta, usuario, senha);
}

Link para o comentário
Compartilhar em outros sites

  • Moderador

Basicamente, precisas fazer a conexão com o banco de dados por um driver do mysql JDBC que você pode baixar gratuitamente na própria página do mysql.

Importar a biblioteca usando import java.sql.*;

exemplo de conexão com o banco e listando dados da tabela:


package exemplo;

import java.sql.*;

class Exemplo1{

public static void main(String args[]){

Connection con = null;

try
{
// Este é um dos meios para registrar um driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").getInstance();

// Registrado o driver, vamos estabelecer uma conexão
con = DriverManager.getConnection("jdbc:odbc:meusCdsDb","conta","senha");

// Após estabelecermos a conexão com o banco de dados
// Utilizamos o método createStatement de con para criar o Statement
Statement stm = con.createStatement();

// Vamos executar o seguinte comando SQL :
String SQL = "Select titulo, autor, total_faixas from MeusCDs";

// Definido o Statement, executamos a query no banco de dados
ResultSet rs = stm.executeQuery(SQL);

// O método next() informa se houve resultados e posiciona o cursor do banco
// na próxima linha disponível para recuperação
// Como esperamos várias linhas utilizamos um laço para recuperar os dados
while(rs.next())
{

// Os métodos getXXX recuperam os dados de acordo com o tipo SQL do dado:
String tit = rs.getString("titulo");
String aut = rs.getString("autor");
int totalFaixas = rs.getInt("total_faixas");

// As variáveis tit, aut e totalFaixas contém os valores retornados
// pela query. Vamos imprimí-los

System.out.println(48:"Titulo: "+tit+" Autor: "+aut+"49: Tot. Faixas: "+totalFaixas);
}

}
catch(SQLException e)
{
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
}
finally
{
try
{
con.close();
}
catch(SQLException onConClose)
{
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
} // fim da main

} // fim do exemplo

Com base nisto, tente implementar na sua aplicação.

Abraço

Link para o comentário
Compartilhar em outros sites

  • Moderador

Talvez você poderia usar o padrão DAO(Data Access Object)

Veja se estes artigos podem ajudar você:

Padrão DAO simples

DAO Select, Insert, Delete

Padrão DAO (Pelo que eu vi este é bem completo )

Quando estava na faculdade, eu fiz um a consulta e alguns inserções no banco usando este padrão. Pelo que lembro tinha uma classe de conexão, nesta classe ja fazia as consultas.. e importava a classe dao na classe onde estava a tabela. Vagamente me lembro que usava o Bean nada mais é que uma classe onde você estará armazenando/retornando valores, um objeto com getters/setters...

seria basicamente isso. Este é o máximo que posso fazer por você, pois faz muito tempo que não lido com java.

Abraço

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!