Pessoal, estou com um problema na minha classe de envio de email…
segue o código:
package bvs.servicos;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class Email {
private Object[] email;
private int cont;
private Session session;
private Connection connect;
private Conexao conexao;
public Email() {
email = new Object[20];
conexao = new Conexao();
connect = conexao.abrirConexao();
}
public void enviarEmail(String evento, String data, String local, String hora) {
cont = 0;
email = buscarEmail();
try {
for (cont = 0; cont <= 1999; 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[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 Object[] buscarEmail() {
int i=0;
Object[] dados = new Object[20];
try {
Statement stmt = connect.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT email FROM pessoa WHERE tipo = 'participante'");
System.out.println();
while (rs.next()){
dados[i] = rs.getString(1);
i++;
}
stmt.close();
//conexao.fecharConexao();
} catch (Exception e) {
System.err.println("Erro na consulta.");
}
return dados;
}
}
Está aparecendo NullPointerException na linha:
InternetAddress addressFrom = new InternetAddress((String) email[cont]);
O que está errado???


