Erro enviando email

4 respostas
C

Boa tarde pessoal,

Fiz uma classe simples para exemplificar o meu problema (mesmo exemplo do http://commons.apache.org/email/userguide.html)

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

public class Email 
{
	public Email()
	{
		try 
		{
			SimpleEmail email = new SimpleEmail();
			email.setHostName("172.31.32.130");
			email.addTo("[email removido]", "Cleverson");
			email.setFrom("[email removido]","eu");
			email.setSubject("Test");
			email.setMsg("This is a test...");
			email.send();
		} catch (EmailException e) 
		{
			e.printStackTrace();
		}
	}
	public static void main(String[] args) 
	{
		new Email();
	}
}

Se rodo essa aplicação pelo “play” do Eclipse funciona perfeitamente… Agora se eu rodo a mesma aplicação através de linha de comando obtenho erro que não consigo conectar as servidor de email…

comando: java -classpath .;C:\Teste_Email\lib\commons-email-1.1.jar;C:\Teste_Email\lib\mail.jar Email

java -classpath .;C:\Teste_Email\lib\commons-email-1.1.jar;C:\Teste_Email\lib\mail.jar Email

org.apache.commons.mail.EmailException: Sending the email to the following serve
r failed : 172.31.32.130:25
        at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
        at org.apache.commons.mail.Email.send(Email.java:1163)
        at Email.<init>(Email.java:18)
        at Email.main(Email.java:27)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 172.31
.32.130, port: 25;
  nested exception is:
        java.net.SocketException: Software caused connection abort: connect
        at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:41
2)
        at javax.mail.Service.connect(Service.java:288)
        at javax.mail.Service.connect(Service.java:169)
        at javax.mail.Service.connect(Service.java:118)
        at javax.mail.Transport.send0(Transport.java:188)
        at javax.mail.Transport.send(Transport.java:118)
        at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
        ... 3 more
Caused by: java.net.SocketException: Software caused connection abort: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(Unknown Source)
        at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.PlainSocketImpl.connect(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
        at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
        at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
        ... 10 more

Alguém pode me ajudar o que está acontecendo!? É a mesma aplicação… pq tenho erro via linha de comando e via Eclipse não? Desativei o firewall da máquina (Windows XP) para ver se era isso mas nada…

Obrigado…

4 Respostas

peczenyj

Could not connect to SMTP host: 172.31.32.130, port: 25

Vc consegue fazer

telnet 172.31.32.130 25 ?

C

Fazendo telnet 172.31.32.130 25 me retorna vários caracteres “2000***0***************”… mas o que teria haver o telnet???

É a mesma aplicação… pelo Eclipse vai… por comando não!!! Se fosse algo com a rede ou com o servidor de email não iria nenhum nem outro…

Valeu…

peczenyj

A tua aplicação está reclamando que não consegue estabelecer conexão com aquele host/porta tem que investigar o motivo.

C

Que não consegue conexão com aquele host/porta eu sei… mas como investigar??? Se exatamente a mesma aplicação funciona apertado o botão “Play” do Eclipse… mas se eu fizer “java -classpath .;C:\Teste_Email\lib\commons-email-1.1.jar;C:\Teste_Email\lib\mail.jar Email” acontece o erro! O que o Eclipse faz de diferente?
Outra dúvida então… tem como saber o que o Eclipse roda para executar uma aplicação? Tipo… ele deve mandar “java -classpath -etc etc etc etc” não?

Criado 4 de agosto de 2008
Ultima resposta 4 de ago. de 2008
Respostas 4
Participantes 2