Boa tarde Pessoal,
Ve se alguém pode me ajudar.
Tenho uma classe para enviar um email básico conforme abaixo:
System.out.println(“Inicio”);
Email email = AbstractEmailFactory.getInstance().createEmail();
email.setData(“Teste de E-mail!!!”);
email.setMailFrom(“remetente”);
email.setMailTo(“destinatario”);
email.setSubject(“Assunto”);
email.send();
System.out.println(“Fim”);
Quando vai executar a linha “email.send()” dá o seguinte erro:
java.lang.NoClassDefFoundError: javax.mail.internet.InternetAddress at br.com.email.SimpleFactory.createdAddress(SimpleEmailFactory.java:27)
Alguém saberia como posso resolver???
Abs
Cara, existe um artigo no GUJ sobre envio de e-mail!
Enviando emails com Java: http://www.guj.com.br/articles/21
Verifique se o arquivo mail.jar encontra-se no classpath…
Para enviar um e-mail simples
public void enviaEmailSimples() throws EmailException {
System.out.println("Passando pelo email simples :");
SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail
email.addTo("xxxxxxxxxx@hotmail.com", "nome"); // destinatário
email.setFrom("xxxxxxxx@gmail.com", "nome"); // remetente
email.setSubject("Teste -> Email simples"); // assunto do e-mail
email.setMsg("Teste de Email utilizando commons-email"); // conteudo do e-mail
email.setAuthentication("usuario", "senha");
email.setSmtpPort(25);
email.setSSL(true);
email.setTLS(true);
email.send();
}
Você precisa colocar no CLASSPATH da aplicação os seguintes jar´s
commons-email-1.2.jar
mail.jar
mailapi.jar
pop3.jar
smtp.jar
imap.jar
dsn.jar
Ou mais fácil baixe o commons-email-1.2-bin para obter os jars necessarios
Boa sorte
Com esses jars de envio de email, tava vendo o setFrom ali, nao precisa nem de senha…
eu posso colocar ali larry@google.com q o destinatario vai receber um email como se fosse o Larry Page da Google? Qual a seguranca disso?
O que garante que o emitente é realmente o emitente?
[quote=smp0308]Boa tarde Pessoal,
Ve se alguém pode me ajudar.
Tenho uma classe para enviar um email básico conforme abaixo:
System.out.println(“Inicio”);
Email email = AbstractEmailFactory.getInstance().createEmail();
email.setData(“Teste de E-mail!!!”);
email.setMailFrom(“remetente”);
email.setMailTo(“destinatario”);
email.setSubject(“Assunto”);
email.send();
System.out.println(“Fim”);
Quando vai executar a linha “email.send()” dá o seguinte erro:
java.lang.NoClassDefFoundError: javax.mail.internet.InternetAddress at br.com.email.SimpleFactory.createdAddress(SimpleEmailFactory.java:27)
Alguém saberia como posso resolver???
Abs
[/quote]
java.lang.NoClassDefFoundError, as exceptions costumam dar a direção do problema… Veja no JavaDoc do JSE o que pode significar esta exceção.
[quote=igor_ks]Com esses jars de envio de email, tava vendo o setFrom ali, nao precisa nem de senha…
eu posso colocar ali larry@google.com q o destinatario vai receber um email como se fosse o Larry Page da Google? Qual a seguranca disso?
O que garante que o emitente é realmente o emitente?[/quote]
Você pode… Não há segurança nenhuma…
a unica forma de “tentar” identificar o emitente, é ver o fonte da mensagem se saiu de um SMTP do emitente e este SMTP necessitar de autenticação…
Ou senão usar certificado digital…