Eu tenho um programa em Java que usa javax.mail para enviar uma mensagem SMTP. Este programa FUNCIONA FINA em uma caixa Linux, quero enfatizar isso de antemão. Quando eu tento esse mesmo código na minha caixa do Windows 7 x64, recebo este erro:
send failed, exception: javax.mail.MessagingException: Could not connect to SMTP host: smtp.west.cox.net, port: 25;
nested exception is: java.net.SocketException: Network is unreachable: connect
Aqui está o código:
Session session = Session.getInstance(props, null);
MimeMessage msg = new MimeMessage(session);
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO, props.getProperty("mail.to", "[email protected]"));
msg.setSubject(mySubject);
msg.setSentDate(new Date());
msg.setContent(sBuf.toString(), "text/html");
Transport.send(msg);
Este programa praticamente usa padrões para tudo. Ele funciona bem em outra caixa na mesma rede. Ele usa as mesmas configurações que eu uso para o meu cliente de e-mail normal, o que funciona bem. Há algo nessa caixa do Windows que está bloqueando o SMTP, mas apenas para Java.
Eu tenho o Symantec (Norton) 360 instalado. Desligá-lo não faz diferença, mas a reinicialização no modo de segurança (que desativa quase tudo) permite que o programa funcione e envie emails muito bem.
Então, para recapitular:
- O código do programa funciona.
- As configurações estão corretas.
- O SMTP funciona para o Windows Mail e é bloqueado apenas para Java nesta máquina Windows.
Antes de passar outro dia destruindo coisas e desinstalando / reinstalando, fiquei imaginando se alguém tinha algum conselho sobre consertar isso?