Envio de E-Mail [API Commons (Jakarta Apache)]

Boa tarde !

No projeto que estou trabalhando existe uma funcionalidade de enviar e-mail e para isso escolhi o API Commons do projeto Jakarta, porém não estou conseguindo enviar o email…

Abaixo está o meu código.

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

public class EmailSimples {

	public static void main(String[] args) {

		SimpleEmail email = new SimpleEmail();

		try {
			
			email.setHostName("192.168.0.3");
			email.addTo("paulo@conseda.com.br", "Destinatario");
			email.setFrom("paulo@conseda.com.br", "Remetente");
			email.setSubject("Assunto de Teste");
			email.setMsg("Menssagem de texto de teste.");
			
			email.send();

		} catch (EmailException e) {
			System.err.print("...Erro:\n\t" + e.getMessage() + "\n\n");
			e.printStackTrace();
		}

	}

}

Mensagem de erro:

...Erro:
	Sending the email to the following server failed : 192.168.0.3:25

org.apache.commons.mail.EmailException: Sending the email to the following server failed : 192.168.0.3:25
	at org.apache.commons.mail.Email.sendMimeMessage(Email.java:873)
	at org.apache.commons.mail.Email.send(Email.java:898)
	at EmailSimples.main(EmailSimples.java:18)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 192.168.0.3, port: 25;
  nested exception is:
	java.net.ConnectException: Connection refused: connect
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
	at javax.mail.Service.connect(Service.java:275)
	at javax.mail.Service.connect(Service.java:156)
	at javax.mail.Service.connect(Service.java:105)
	at javax.mail.Transport.send0(Transport.java:168)
	at javax.mail.Transport.send(Transport.java:98)
	at org.apache.commons.mail.Email.sendMimeMessage(Email.java:863)
	... 2 more
Caused by: java.net.ConnectException: Connection refused: 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:232)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250)
	... 9 more

Observação:
Utilizo o eclipse como IDE, e os jars activation.jar e commons-email-1.0.jar estão adicionados no Java Build Path corretamente.

Obrigado pela atenção.

Cara, pela exception lançada o problema é com seu servidor smtp.
Verifique o IP e a porta.

[quote]
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
at javax.mail.Service.connect(Service.java:275)[/quote]

Antes de mais nada,
obrigado pela atenção prestada.

Pior que o ip e a porta estão corretas, afirmo isso porque o mozilla thunderbird (aplicativo concorrente do outLook) está com esse ip apontando para a porta 25, que é a padrão.

Saberia me dizer se eu tenho que fazer alguma configuração no meu servidor?!

Observação:
Servidor utiliza SO Linux Debian.

Grato.

ola eu uso essa api para enviar
email para mim quando ocorre uma exception no sistema

sendo assim segue o font
das 2 classe que uso

1 classe com o nome ExceptionEmail

[quote]
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class ExceptionEmail {

public static void  email(String tela,String metodo,Exception erro) {
    //Properties - objeto responsável por armazenar as propriedades
Properties props = new Properties();
    //Protocolo utilizado SMTP
    props.put("mail.transport.protocol", "smtp");
    //Indica que necessita de autenticação para acessar o servidor
    props.put("mail.smtp.auth", "true"); 
    //Servidor de SMTP
    props.put("mail.smtp.host", "stmt.gmail.com");

    //Session - objeto que ira realizar a conexão com o servidor
    /*Como há necessidade de autenticação é criada uma instancia
     * da classe JMAuthenticator que é responsável por solicitar e
     * retornar o usuário e senha para autenticação */
    Session session = Session.getDefaultInstance(props, new JMAuthenticator());
    //Habilita o LOG das ações executadas durante o envio do email
    //session.setDebug(true);

    //Objeto que contém a mensagem
    Message msg = new MimeMessage(session);

            try {
                    //Setando o destinatário
                    msg.setRecipient(Message.RecipientType.TO, new InternetAddress("pedro@gmail.com.br"));
                    //Setando a origem do email
                    msg.setFrom(new InternetAddress("jose@gmail.com.br"));
                    //Setando o assunto
                    msg.setSubject("assunto "+tela);
                    //Setando o conteúdo/corpo do email
                    msg.setText("ola como vai");

            } catch (Exception e) {
                    e.printStackTrace();
           }
            try {
                    //Envio do email
                    Transport.send(msg);
            } catch (Exception e) {
                    e.printStackTrace();
            }
}[/quote]

2 classe com nome JMAuthenticator

[quote]

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;

/* O objeto extende Authenticator que é a super classe

  • especialista em autenticação
    */
    public class JMAuthenticator extends Authenticator {
    public synchronized PasswordAuthentication getPasswordAuthentication(){
    String usuario = null, senha = null;
    //É criada um JPanel e inserido no ConfirmDialog

     	usuario = "jose";
     	senha = "123456";
     /*PasswordAuthentication é o objeto responsável por transportar
      * as informações de autenticação
      */
     return new PasswordAuthentication(usuario,senha);
    

    }
    }[/quote]

Espero que te ajude valeu

abraço

Muito obrigado pela atenção,

Ainda não pude testar porque não estou no meu trabalho no momento.
Mas assim que efetuar os testes do um retorno sobre o resultado!

Até em breve …

é preciso baixar api java para envio de emails!!!
sem ela nada funciona.

ALGUEM TEM A API JAVA"PARA ENVIO DE E-MAIL" PARA ME PASSAR !?!?!?!?!?

http://java.sun.com/products/javamail/downloads/index.html