JavaMail eviando para qualquer email

Ola

to fazendo uns teste aqui com essa api
e não esta enviando emails para outro dominio do email configurado.

email config nome@empresa.com.br

os emails teste@empresa.com.br são enviados corretamente
mas se o email for @gmail.com ou outro dominio, não vai e nem da erro.

alguem tem a soluçao?

obrigado

Aponte para um servidor de email de verdade, que possa mandar emails para qualquer lugar e possa fazer conexões para a Internet.
Apontar para “localhost” normalmente chama o Microsoft SMTP Server (disponível em máquinas Windows NT/2000/2003) ou o sendmail (se for uma máquina Linux), e normalmente ambos não estão devidamente configurados.

@empresa.com.br é um email de verdade.

substituindo @empresa.com.br para @gmail.com

so consigo enviar para emails do dominio @gmail.com

o email @empresa.com.br é um exemplo que estou colocando para inlustrar a configuração aqui no codigo verdadeiro e outra coisa
esse email é da locaweb.

[code]public static void email(String texto) throws MessagingException {
//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”, “webmail.empresa.com.br”);

    Session session = Session.getDefaultInstance(props, new autenticacao());
    //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("andre@softin.com.br"));
        //Setando a origem do email
        msg.setFrom(new InternetAddress("webmail@empresa.com.br"));
        //Setando o assunto
        msg.setSubject("Leitura de ");
        //Setando o conteúdo/corpo do email
        msg.setText(texto);
        

        
        System.out.println("Email Enviado");
        
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        //Envio do email
        Transport.send(msg);
    } catch (Exception e) {
        e.printStackTrace();
    }
}[/code]

classe de autenticação

[code]public class autenticacao extends Authenticator {
public synchronized PasswordAuthentication getPasswordAuthentication(){
String usuario = null, senha = null;
//É criada um JPanel e inserido no ConfirmDialog

		usuario = "nome@empresa.com.br";
		senha = "123456";
	/*PasswordAuthentication é o objeto responsável por transportar
	 * as informações de autenticação
	 */
	return new PasswordAuthentication(usuario,senha);
}

}[/code]

mas e o seu SMTP como esta configurado?

smtp.empresa.com.br ?

Antes de enviar o email para outros dominios você precisa se autenticar no servidor de email que está usando, utilizando a mesma senha de autenticação que você usa para configurar o outlook por exemplo.

Faça um teste:

    Session sessao = null;
    
    Properties props = new Properties();
    props.put("mail.transport.protocol", "smtp" );
    props.put("mail.smtp.host", SERVIDOR_SMTP );
    props.put("mail.stmp.port", "465" );
    props.put("mail.smtp.auth", "true" );
    props.put("mail.smtp.ssl", "true" );
    props.put("mail.smtp.ehlo", "true" );
    
    sessao = Session.getDefaultInstance(props, new Autenticador(USER, SENHA));
    sessao.setDebug(true); 
    transport = (SMTPTransport) sessao.getTransport("smtp" );
    transport.connect();

CLASSE AUTENTICADOR:

public class Autenticador extends Authenticator{

private String user;
private String senha;

public Autenticador() {
    
}

public Autenticador(String user, String senha){
    this.user = user;
    this.senha = senha;
}

public PasswordAuthentication getPasswordAuthentication(){
    return new PasswordAuthentication(user,senha);
} 

}

ps:Com a instrução sessao.setDebug(true); você poderá observar no console se a autenticaçao e a conexao com o servidor foram bem sucedidas.