Envio de email

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 :&quot);

		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…