Envio de E-mail. Falha na autenticação

Olá comunidade,

estou tentando utilizar a API Commons-Email para enviar mensagens e no momento do envio é gerada uma EmailException causada por uma falha de autenticação no servidor SMTP. O estranho é que estou usando uma conta Yahoo! e as informações de porta, SSL e hostname são as disponibilizadas pela própria Yahoo! Como nunca usei esta API, queria que alguém desse uma olhada no meu código:

[code]package testeemail;

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

public class MyEmail
{
SimpleEmail email = new SimpleEmail();
String userMail = “gilmarcand@yahoo.com.br”;
String userName = “gilmarcand”;
String userPassword = “minhasenha”;

public void envia()
{
    try
    {
       email.setHostName("smtp.mail.yahoo.com.br");
       email.setFrom(userMail);

       email.setMsg("Testando envio de e-mail em Java");
       email.setSubject("teste de email");

       email.setSSL(true);
       email.setSmtpPort(465);
       email.setAuthentication(userName, userPassword);

       email.addTo("gilmarcand@gmail.com");
       email.send();
       System.out.print("Email enviado com sucesso!");
    }
    catch(EmailException ex)
    {
        ex.printStackTrace();
    }       
}

public static void main(String[] args)
{
    MyEmail e = new MyEmail();       
    e.envia();
}

}[/code]

Agradeço se alguém puder me ajudar!

Olá mais uma vez! Já consegui resolver. O problema era que o yahoo usa TLS na encriptação. usei o método setTLS(true) antes do envio e resolveu. Olha aí em baixo:

package testeemail;   
  
import org.apache.commons.mail.EmailException;   
import org.apache.commons.mail.SimpleEmail;   
  
public class MyEmail   
{   
    SimpleEmail email = new SimpleEmail();   
    String userMail = "gilmarcand@yahoo.com.br";   
    String userName = "gilmarcand";   
    String userPassword = "minhasenha";   
       
    public void envia()   
    {   
        try   
        {   
           email.setHostName("smtp.mail.yahoo.com.br");   
           email.setFrom(userMail);   
  
           email.setMsg("Testando envio de e-mail em Java");   
           email.setSubject("teste de email");   
  
           email.setSSL(true);
           email.setTLS(true); // utiliza TLS na encriptação  
           email.setSmtpPort(465);   
           email.setAuthentication(userName, userPassword);   
  
           email.addTo("gilmarcand@gmail.com");   
           email.send();   
           System.out.print("Email enviado com sucesso!");   
        }   
        catch(EmailException ex)   
        {   
            ex.printStackTrace();   
        }         
    }   
       
    public static void main(String[] args)   
    {   
        MyEmail e = new MyEmail();         
        e.envia();   
    }   
}  

Olá Gilmarcamp,

usei a sua rotina e deu o seguinte erro: org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.mail.yahoo.com.br:465
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
at org.apache.commons.mail.Email.send(Email.java:1163)
at Email.envia(Email.java:27)
at Email.main(Email.java:39)
Caused by: javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:319)
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)
… 3 more

pode dar uma olhada pra mim, por favor. Obrigado!!!

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

public class Email
{
SimpleEmail email = new SimpleEmail();
String userMail = “luizsi21@yahoo.com.br”;
String userName = “luizsi21@yahoo.com.br”;
String userPassword = “minha senha”;

public void envia()     
{     
    try     
    {     
       email.setHostName("smtp.mail.yahoo.com.br");     
       email.setFrom(userMail);     
 
       email.setMsg("Testando envio de e-mail em Java");     
       email.setSubject("teste de email");     
 
       email.setSSL(true);   
       email.setTLS(true); // utiliza TLS na encriptação     
       email.setSmtpPort(465);     
       email.setAuthentication(userName, userPassword);     
 
       email.addTo("gilmarcand@gmail.com");     
       email.send();     
       System.out.print("Email enviado com sucesso!");     
    }     
    catch(EmailException ex)     
    {     
        ex.printStackTrace();     
    }           
}     
     
public static void main(String[] args)     
{     
    Email e = new Email();           
    e.envia();     
}     

}

Olá cara, desculpe demorar te responder, eu andei um tempo fora por motivo de força maior.
O erro que você postou mostra uma falha na autenticação do usuário. O código tá legal, eu testei com eu usuário do Yahoo! e funcionou tranquilo. Vê nas configurações da tua conta no Yahoo! se a porta é mesmo esta.

Abraço!

Quem pode me ajudar?

Via OUTLOOK consigo enviar na mesma porta sem problemas.

jdbc:mysql://72.232.2.139:3306/copaiba2009
SELECT * FROM tb_emailsmarketing WHERE email IN ('prsantos@copaibaartefatos.com.br');
Total de Registros: 0org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.copaibaartefatos.com.br:25
	at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
	at org.apache.commons.mail.Email.send(Email.java:1267)
	at principal.Enviar.envia2(Enviar.java:270)
	at principal.Enviar.<init>(Enviar.java:94)
	at principal.PreparaEmail.folderSuporteVaso(PreparaEmail.java:48)
	at principal.PreparaEmail.<init>(PreparaEmail.java:21)
	at principal.EnviaEmail.<init>(EnviaEmail.java:9)
	at principal.EnviaEmail.main(EnviaEmail.java:18)
Caused by: javax.mail.AuthenticationFailedException: 535 Authentication failed

	at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:809)
	at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:752)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:669)
	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)
	... 7 more
1 - prsantos@copaibaartefatos.com.br