Problemas para enviar e-mail pelo Java

Olá pessoal, estou desenvolvendo um software na minha empresa, que envia e-mail.
Porém esta dando um erro que eu não consigo solucionar…
Segue o código abaixo:

package testeenvioemail;

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

public class TesteEnvioEmail {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws EmailException {
        // TODO code application logic here
        System.out.println("Testando envio de e-mail");
        SimpleEmail email = new SimpleEmail();
        //Utilize o hostname do seu provedor de email
        System.out.println("alterando hostname...");
        email.setHostName("srbs00006.zf-lenksysteme.net");
        email.setSmtpPort(587);
        email.setSslSmtpPort("587");
        //Adicione os destinatários
        email.addTo("lucas.stramandinoli@...", "Lucas");
        //Configure o seu email do qual enviará
        email.setFrom("alexandre.cardoso@...", "Alexandre");
        //Adicione um assunto
        email.setSubject("Teste messagem");
        //Adicione a mensagem do email
        email.setMsg("This is a simple test of commons-email");
        //Para autenticar no servidor é necessário chamar os dois métodos abaixo
        System.out.println("autenticando...");
        email.setSSL(true);
        email.setAuthentication("user", "*******");
        System.out.println("enviando...");
        email.setDebug(true);
        email.send();
        System.out.println("Email enviado!");
    }
}

E o erro…
Exception in thread “main” org.apache.commons.mail.EmailException: Sending the email to the following server failed : srbs00006.zf-lenksysteme.net:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
at org.apache.commons.mail.Email.send(Email.java:1267)
at testeenvioemail.TesteEnvioEmail.main(TesteEnvioEmail.java:42)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: srbs00006.zf-lenksysteme.net, port: 587;
nested exception is:
java.net.ConnectException: Connection refused: 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:317)
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)
… 2 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:529)
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:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:207)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
… 9 more
Java Result: 1

Obrigado.

Ao menos leu o erro? O que entendeu do mesmo?

Tenta assim:

public class EnviarEmail {

    private String hostName = AplicacaoProperties.getProperty(AplicacaoProperties.MAIL_HOSTNAME); //Seu servidor de envio de email smtp.
    private String usuario = AplicacaoProperties.getProperty(AplicacaoProperties.MAIL_USUARIO); // Seu login do Gmail
    private String senha = AplicacaoProperties.getProperty(AplicacaoProperties.MAIL_SENHA); // Sua senha do Gmail
    private String email = AplicacaoProperties.getProperty(AplicacaoProperties.MAIL_EMAIL);; // Seu e-mail do Gmail
    private HtmlEmail simpleEmail;

    public EnviarEmail() {
        this.simpleEmail = new HtmlEmail();
    }

    public void enviarMensagem(Mensagem mensagem) throws EmailException {

        simpleEmail.setHostName(hostName);
        simpleEmail.setAuthentication(usuario, senha);
        simpleEmail.setSSL(true);

        simpleEmail.setFrom(email);
        simpleEmail.addTo(mensagem.getDestinatario());
        simpleEmail.setSubject(mensagem.getAssunto());
        simpleEmail.setHtmlMsg(mensagem.getMensagem());
        
        simpleEmail.send();

    }
    
}
public class Mensagem {

    private String destinatario;
    private String assunto;
    private String mensagem;

    public Mensagem() {
        super();
    }

    public Mensagem(String destinatario, String assunto, String mensagem) {
        super();
        this.destinatario = destinatario;
        this.assunto = assunto;
        this.mensagem = mensagem;
    }

    public String getDestinatario() {
        return destinatario;
    }

    public void setDestinatario(String destinatario) {
        this.destinatario = destinatario;
    }

    public String getAssunto() {
        return assunto;
    }

    public void setAssunto(String assunto) {
        this.assunto = assunto;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }
    
}

Valeu Surfzera, vou dar uma olhada aqui.

erro

Hibernate: select this_.id as y0_, this_.descricao as y1_, IF(this_.situacao='A', 'Ativo', 'Inativo') AS situacao from usuario this_ order by this_.situacao asc limit ? SQL Error: 0, SQLState: 42883 ERRO: função if(boolean, unknown, unknown) não existe org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:2223) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at org.openswing.swing.util.server.HibernateUtils.getBlockFromCriteria(HibernateUtils.java:1337) at br.com.system.controller.UsuarioController.loadData(UsuarioController.java:97) at org.openswing.swing.table.client.Grids.loadData(Grids.java:1794) at org.openswing.swing.table.client.Grids.access$800(Grids.java:58) at org.openswing.swing.table.client.Grids$LoadDataThread.run(Grids.java:4064) Caused by: org.postgresql.util.PSQLException: ERRO: função if(boolean, unknown, unknown) não existe at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) at org.hibernate.loader.Loader.getResultSet(Loader.java:1787) at org.hibernate.loader.Loader.doQuery(Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) ... 10 more