Problema usando Commons Mail

Olá, estou com um serio problema com o codigo abaixo, estou tentando enviar email usando o Cmmons Mail, ele sempre da erro, ja segui inumeros tutoriais,e nada ainda. segue o codigo abaixo:

package commonsMail;

import java.net.MalformedURLException;
import java.net.URL;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class CommonsMail {

public CommonsMail() throws Exception, MalformedURLException {
	enviaEmailSimples();
}

public void enviaEmailSimples() throws Exception {

	SimpleEmail email = new SimpleEmail();
	email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do
			
	
	// e-mail
	email.addTo("emailqueeuqueroenviar@gmail.com", "destinatario"); // destinatário
	email.setFrom("meuemail@gmail.com", "Eu"); // remetente
	email.setSubject("Teste -> Email simples"); // assunto do e-mail
	email.setMsg("Teste de Email utilizando commons-email"); // conteudo do
																// e-mail
	email.setAuthentication("minha senha", "meu login");
	email.setSmtpPort(465);
	email.setSSL(true);
	email.setTLS(true);
	email.send();
}

public static void main(String[] args) throws Exception {
	new CommonsMail();
}

}

Agora estou mandando o erro,

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Message
at commonsMail.CommonsMail.enviaEmailSimples(CommonsMail.java:19)
at commonsMail.CommonsMail.<init>(CommonsMail.java:11)
at commonsMail.CommonsMail.main(CommonsMail.java:37)
Caused by: java.lang.ClassNotFoundException: javax.mail.Message
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
… 3 more

fico grato se alguem conseguir me ajudar, desde ja agradeço a colaboração de todos.

vlw

Voce precisa adicionar a biblioteca javaMail no seu projeto.

http://www.oracle.com/technetwork/java/index-138643.html

amigo, obrigado pela resposta, segui seu conselho e agora o erro é o seguinte,

Exception in thread “main” org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:450
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
at org.apache.commons.mail.Email.send(Email.java:1267)
at commonsMail.CommonsMail.enviaEmailSimples(CommonsMail.java:30)
at commonsMail.CommonsMail.<init>(CommonsMail.java:11)
at commonsMail.CommonsMail.main(CommonsMail.java:34)
Caused by: javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
nested exception is:
java.net.UnknownHostException: smtp.gmail.com
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1704)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:313)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service.connect(Service.java:121)
at javax.mail.Transport.send0(Transport.java:190)
at javax.mail.Transport.send(Transport.java:120)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
… 4 more
Caused by: java.net.UnknownHostException: smtp.gmail.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:201)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
… 11 more

sabe pq?

Agora ele já está tentando a conexão.

O problema é que não está conseguindo se conectar ao Gmail.

Poste seu código entre as tags CODE do editor de texto, facilita a visualização do código.

Acredito que deva ser email.setAuthentication("login", "senha"); vc colocou senha e login.

sim login e senha estão corretos… na minha empresa se usa servidor proxy autenticado, mas nenhuma porta é bloqueada, isso influência??

[quote=mestrefox]sim login e senha estão corretos… na minha empresa se usa servidor proxy autenticado, mas nenhuma porta é bloqueada, isso influência??
[/quote]

Não sei dizer se o proxy influencia.

Essa porta smtp.gmail.com:450 troca por 465 ou 587.

muito obrigado pela dica, graças a ela o meu problema foi resolvido…

vlw

[quote=mestrefox]muito obrigado pela dica, graças a ela o meu problema foi resolvido…

vlw[/quote]

Ok, que bom, faz o seguinte agora.

Edita seu 1º post e coloca no lado do titulo isso [RESOLVIDO].

Ele vai ficar assim: PROBLEMA USANDO COMMONS MAIL [RESOLVIDO]

Isso é padrão aqui no forum quando um problema postado é resolvido.

T+.

Boa noite, estou precisando de uma ajudinha

estou tentando enviar email com api java commons (jacarta)
porem estou com o seguinte erro:

root cause

java.lang.ClassNotFoundException: org.apache.commons.mail.EmailException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

e o meu código:

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

SimpleEmail email = new SimpleEmail();
//testando api java q manda email
try{

			email.setHostName("smtp.live.com"); // o servidor SMTP para envio do e-mail
			
			email.setAuthentication("usuario", "senha");

			email.addTo("aylton-silva@hotmail.com", "Aylton"); //destinatário

			email.setFrom("thayson.silva@hotmail.com", "Thayson"); // remetente

			email.setSubject("Mensagem de Teste"); // assunto do e-mail

			email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail

			email.send(); //envia o e-mail
		}catch (EmailException e) {
			new RuntimeException("erro ao enviar o e-mail. "+e);
		}

desde ja agradeço…

Segundo a exceção: java.lang.ClassNotFoundException: org.apache.commons.mail.EmailException
Falta adicionar a biblioteca que contém a classe org.apache.commons.mail.EmailException no seu projeto.

[quote=romarcio]Segundo a exceção: java.lang.ClassNotFoundException: org.apache.commons.mail.EmailException
Falta adicionar a biblioteca que contém a classe org.apache.commons.mail.EmailException no seu projeto.[/quote]

Romarcio, eu fiz dowload desta biblioteca conforme a imagem abaixo:

e adicionei ao projeto porem o erro persiste

Bom, a exceção é bem clara. A classe não está sendo encontrada, embora exista nessa biblioteca.

Então talvez, você apenas colou a biblioteca na pasta lib, mas não adicionou no projeto. Seria o único motivo para essa exceção se lançada.

[quote=romarcio]Bom, a exceção é bem clara. A classe não está sendo encontrada, embora exista nessa biblioteca.

Então talvez, você apenas colou a biblioteca na pasta lib, mas não adicionou no projeto. Seria o único motivo para essa exceção se lançada.

[/quote]

Obrigado romarcio vou tentar solucionar o problema qlq coisa confirmo aqui o resultado

Galera sou iniciante em java e estou tendo um problema com o Commons Mail.
Adicionei as bibliotecas Commonsmail 1.2 (que reconhece os métodos setSSL e setTLS) e a javamail. 1.4.7.
Ja testei com as portas 465 e 587.

O erro que dá é:

    Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
Java Result: 1

Desde já agradeço a ajuda de todos.