Problemas com Commons Mail

2 respostas
J

Galera,

estou fazendo uma funcionalidade do trabalho onde o usuário se cadastra e recebe a senha por e-mail.

O problema é que na hora do envio aparece o seguinte erro:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : 10.0.65.22:25
	at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
	at org.apache.commons.mail.Email.send(Email.java:1267)
	at br.gov.datasus.transmissor.util.EmailUtil.send(EmailUtil.java:24)
	at br.gov.datasus.transmissor.controller.UsuarioController.cadastrar(UsuarioController.java:117)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:572)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 10.0.65.22, port: 25;
  nested exception is:
	java.net.SocketException: Permission denied: connect
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
	at javax.mail.Service.connect(Service.java:295)
	at javax.mail.Service.connect(Service.java:176)
	at javax.mail.Service.connect(Service.java:125)
	at javax.mail.Transport.send0(Transport.java:194)
	at javax.mail.Transport.send(Transport.java:124)
	at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
	... 35 more
Caused by: java.net.SocketException: Permission denied: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
	at java.net.Socket.connect(Socket.java:579)
	at java.net.Socket.connect(Socket.java:528)
	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)

Mas quando eu faço o teste abaixo e rodo no direto no eclipse funciona:

public static void main(String[] args) {
		try {
			SimpleEmail email = new SimpleEmail();
			
			email.setHostName("10.0.65.22");
			email.setSmtpPort(25);
			email.setFrom("[email removido]");
			email.addTo("[email removido]");
			email.setSentDate(new Date());
			email.setSubject("teste");
			email.setMsg("teste");
			
			email.send();
		} catch (EmailException e) {
			e.printStackTrace();
		} 
	}

Alguém poderia me ajudar?

2 Respostas

Alys

jerrymagal,

Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 10.0.65.22, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect

Isso normalmente é problema relacionado a permissão na rede. O teste que você fez foi na mesma máquina onde ocorre o problema?

Dá uma olhada nas dicas de configuração e debug da JavaMail API FAQ.

J

Alys:
jerrymagal,

Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 10.0.65.22, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect

Isso normalmente é problema relacionado a permissão na rede. O teste que você fez foi na mesma máquina onde ocorre o problema?

Dá uma olhada nas dicas de configuração e debug da JavaMail API FAQ.

Foi na mesma máquina sim.

O ip da minha máquina estava habilitado a enviar email, mas parece que quando eu tento enviar pela aplicação que roda no tomcat da esse erro de acesso negado.

Eu até pensei que o ip do tomcat na minha máquina que devia estar habilitadado no servidor de e-mail, dai eu coloquei o mesmo ip da minha máquina no tomcat e mesmo assim não foi.

Vc sabe onde posso conseguir o source file do javamail?

Criado 10 de outubro de 2012
Ultima resposta 11 de out. de 2012
Respostas 2
Participantes 2