Dificuldades com o Commons-Mail

2 respostas
FabricioPJ

Olá a todos. Estou tentando fazer uma aplicação de teste para enviar um e-mail simples para o GMail, só que estou tendo dificuldades para isso. Vejam meu código:

package principal;

import java.net.MalformedURLException;
import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.SimpleEmail; 
import javax.swing.JOptionPane;
public class teste{
    
    public teste() throws EmailException, MalformedURLException{
        enviaEmailSimples();
    }
    
    public void enviaEmailSimples() throws EmailException{
        SimpleEmail email = new SimpleEmail();
        email.setHostName("mail.google.com");
        email.addTo("[email removido]", "Fabricio");
        email.setFrom("[email removido]", "Fabricio");
        email.setSubject("Se conseguir ler isso, é porque funcionou!");
        email.setMsg("CORPO DO EMAIL");
        email.setSmtpPort(25);

        email.setSSL(true);  
        email.setTLS(true);  
        email.send();
        JOptionPane.showMessageDialog(null, "Email enviado.");
    }
    public static void main(String args[]) throws EmailException, MalformedURLException{
            new teste();

    }
    
}

O erro que esta ocorrendo é este:

Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : mail.google.com:25
        at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
        at org.apache.commons.mail.Email.send(Email.java:1163)
        at principal.teste.enviaEmailSimples(teste.java:25)
        at principal.teste.<init>(teste.java:10)
        at principal.teste.main(teste.java:29)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: mail.google.com, port: 465;
  nested exception is:
        java.net.ConnectException: Connection refused: connect
        at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
        at javax.mail.Service.connect(Service.java:310)
        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)
        ... 4 more
Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550)
        at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
        at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
        at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163)
        at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
        ... 11 more
Java Result: 1

Pelo que entendi, a conexão está sendo recusada. Mas já tentei diversas portas que pesquisei na internet dizendo ser do GMail, também já tentei vários servidores de email google, como "smpt.gmail.com", "smtp.google.com", "mail.google.com".

Já tentei com o metodo "setAuthentication(meuUsuarioGMail, minhaSenhaGMail)" mas também não funcionou.

Onde estou errando?

Grato pela atenção.

PS - Estou atras de um proxy, mas já autenticado. Será que isso interfere em algo?

2 Respostas

T

a) O Gmail requer SSL. http://www.guj.com.br/posts/list/35431.java
b) Se você estiver atrás de um proxy, não vai conseguir mandar emails, mesmo autenticado, se for um proxy daqueles que funciona só para web.

FabricioPJ

Era questão de proxy sim. Quando cheguei em casa, testei o mesmo código e este funcionou.
Obrigado.

Criado 13 de novembro de 2008
Ultima resposta 26 de nov. de 2008
Respostas 2
Participantes 2