Enviar email para cada novo registro em um banco de dados

5 respostas
U

Oi…eu gostaria de saber se alguém tem algum código fonte ou alguma dica para enviar um email para cad novo registro inserido em um banco de dados mysql???Estou um pouco perdido…Valeu!!!

5 Respostas

Rafael_Steil

Na secao de artigos do GUJ - http://www.guj.com.br/user.article.list.chain - tem um tutorial sobre envio de emails em Java. Com isso, basta vc adicionar a chamada no ponto do teu sistema onde os inserts sao executados.

Rafael

U

Como assim???Acho q isso não daria certo…já tentei mais ou menos…

furutani

Por que não?
Como vc fez?

U

Eu peguei esse codigo aqui…mas não tô sabendo como inserir…

[color=brown]package bvs.servicos;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.<em>;

import javax.mail.</em>;

import javax.mail.internet.*;

public class Email {

private List email;
private int cont;
private Session session;
private Connection connect;
private Conexao conexao;

public Email() {
	email = new ArrayList();
	conexao = new Conexao();
	connect = conexao.abrirConexao();
}

public void enviarEmail(
	String evento,
	String data,
	String local,
	String hora) {

	int tamanho = 0;
	email = buscarEmail();
	tamanho = email.size();

	try {

		for (cont = 0; cont < tamanho; cont++) {

			Properties props = new Properties();
			props.put("mail.host", "smtp.acessototal.com.br");

			session = Session.getInstance(props, null);
			MimeMessage msg = new MimeMessage(session);

			InternetAddress addressFrom =
				new InternetAddress((String) email.get(cont));

			msg.setFrom(
				new InternetAddress(("[email removido]")));
			msg.setRecipient(Message.RecipientType.TO, addressFrom);

			msg.setSubject("EVENTO MARCADO");

			msg.setText(
				"BVS informa: "
					+ evento
					+ " marcado(a) para o dia "
					+ data
					+ ", às "
					+ hora
					+ ". Local: "
					+ local
					+ ".");

			Transport.send(msg);

		}
	} catch (AddressException e) {
		System.out.println("Erro no endereço: " + e);

	} catch (MessagingException e) {
		System.out.println("Erro ao enviar a mensagem: " + e);
	}
}

public List buscarEmail() {
	List dados = new ArrayList();
	try {
		Statement stmt = connect.createStatement();
		ResultSet rs =
			stmt.executeQuery(
				"SELECT email FROM pessoa WHERE tipo = 'participante'");
		System.out.println();
		while (rs.next()) {
			dados.add(rs.getString(1));
		}

		stmt.close();

	} catch (Exception e) {
		System.err.println("Erro - buscarEmail: " + e);
	}
	return dados;
}

}
[/color]

Rafael_Nunes

Inserir o que exatamente?

E so chamar o metodo enviarEmail() apos seus INSERTs.

Ps:Coloque seus codigos entre as tags [ code] [ /code]

Criado 21 de agosto de 2005
Ultima resposta 22 de ago. de 2005
Respostas 5
Participantes 4