[Resolvido]Problemas com CommonsMail

Boa tarde galera.

Seguinte, estou fazendo uma aplicação web (jsf 1.2 + postgres) e estou com certa dificuldade para mandar emails atravéz dela. Na minha aplicação, o cidadão vai se cadastrar, cadastrar um email e que já possui (@gmail, @hotmail…) para receber a confirmação do cadastro.
Estou usando um ex. em CommonsMail e já consegui enviar um email “teste” com ele. (de um email p/ ele mesmo, definindo eles no código fonte mesmo, apenas p/ teste eheh)

No meu bean ele está assim…

//meu CommonsMail.java
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class CommonsMail {

    public CommonsMail() throws EmailException {
        
    }

    public void enviaEmailSimples() throws EmailException {
        SimpleEmail email = new SimpleEmail();
        email.setHostName("smtp.meuprovedor.edu.br"); 
        email.addTo("cassiano@meuprovedor.edu.br", "Teste"); //destinatário
        email.setFrom("cassiano@meuprovedor.edu.br", "yahooooll"); // remetente
        email.setSubject("Teste Email Projeto do Cassiano"); // assunto do e-mail
        email.setMsg("TESTE eheheh"); //conteudo do e-mail
        email.setAuthentication("cassiano", "minhasenha");
        email.setSmtpPort(25);    // porta smtp do meuprovedor
        email.send();
        
     }

    public void manda() throws EmailException{
        this.enviaEmailSimples();
    }

}

Meu facesconfig.xml

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <managed-bean>
        <managed-bean-name>email</managed-bean-name>
        <managed-bean-class>pkgEmail.CommonsMail</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
</faces-config>

Minha página simples p/ teste…

//meu .jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<f:view>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title>JSP Page</title>
        </head>
        
            <h:form>

            <h1><h:outputText value="Mandar Email"/></h1>
            <h:commandButton value="manda" action="#{email.manda}" />

            </h:form>
</f:view>

Meu problema está quando eu mudo o provedor de email do destinatário (vou mandar do cassiano@meuprovedor.edu.br para zanuzzo.ca@gmail.com por exemplo), sendo que quando eu vou mandar o email ele da este erro.

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: #{email.manda}: org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.meuprovedor.edu.br:25
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

root cause

javax.faces.FacesException: #{email.manda}: org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.meuprovedor.edu.br:25
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

root cause

javax.faces.el.EvaluationException: org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.meuprovedor.edu.br:25
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

root cause

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.meuprovedor.edu.br:25
org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
org.apache.commons.mail.Email.send(Email.java:1267)
pkgEmail.CommonsMail.enviaEmailSimples(CommonsMail.java:37)
pkgEmail.CommonsMail.manda(CommonsMail.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.el.parser.AstValue.invoke(AstValue.java:191)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

root cause

javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 zanuzzo.ca@gmail.com: Relay access denied

com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1607)
com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:887)
javax.mail.Transport.send0(Transport.java:191)
javax.mail.Transport.send(Transport.java:120)
org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
org.apache.commons.mail.Email.send(Email.java:1267)
pkgEmail.CommonsMail.enviaEmailSimples(CommonsMail.java:37)
pkgEmail.CommonsMail.manda(CommonsMail.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.el.parser.AstValue.invoke(AstValue.java:191)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

root cause

com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 zanuzzo.ca@gmail.com: Relay access denied

com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1458)
com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:887)
javax.mail.Transport.send0(Transport.java:191)
javax.mail.Transport.send(Transport.java:120)
org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
org.apache.commons.mail.Email.send(Email.java:1267)
pkgEmail.CommonsMail.enviaEmailSimples(CommonsMail.java:37)
pkgEmail.CommonsMail.manda(CommonsMail.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.el.parser.AstValue.invoke(AstValue.java:191)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.

Alguém sabe como posso resolver isso?
Tenho que usar outras .jar, estilo Javamail?

Obrigado e desculpe se o email está grande, mas é que preciso resolver este problema logo…

Nunca usei o Commons, mas eu sei que ele usa o JavaMail

e no JavaMail vc tem que informar seu email ocmpleto na autenticação

email.setAuthentication("cassiano@provedor.com", "minhasenha"); 

Tentei aqui e da erro.

Quando funcionou, mandei apenas com meu login.

Seguinte galera, tentei fazer os teste em casa e lá funciona em partes.
Sempre que eu mando o email do remente @meuprovedor.edu.br (provedor da empresa) ele da erro. A menos que eu mande para um outro email @meuprovedor

Buenas, quando eu uso a configuração usada para rementente do gmail, (ssl=true, smtp = 465, etc) ele manda certinho p/ qualquer outro email.

O problema deve estar na configuração do nosso servidor de email… =/

Mas, se alguém tiver alguma outra altenativa que não use smtp (acho que assim ele iria enviar), falem por favor ehehe

Brigado.