Autenticação no javamail

2 respostas
cassio

Pessoal,

Está acontecendo uma coisa estranha aqui. Estou usando O JavaMail, quase tudo funcionando bem… O único problema é que não importa qual nome de usuário eu forneça, mesmo um que não existe entre as contas de email do servidor smtp, e não importa o que eu fornça como senha, mesmo uma errada, ele conecta e envia o email…

Estou pegando minha Session da seguinte maneira:

private Session getSession(){
		Session sessao = null;
		Properties props = new Properties();
		props.put("mail.smtp.host", SERVIDOR_SMTP);
		props.put("mail.smtp.auth", "true");
		sessao = Session.getDefaultInstance(props,
								new Autenticador(EMAIL_REMETENTE, password));		
		return sessao;
	}

E a classe Autenticador é

public class Autenticador extends javax.mail.Authenticator{
	
	/*==============
	 * ATRIBUTOS
	 *============*/
	private String user;
	private String senha;
	
	/*================
	 * CONSTRUTORES
	 *==============*/
	public Autenticador(){}
	
	/** 
	 * @param user (String)
	 * @param senha (String)
	 */
	public Autenticador(String user, String senha){
		this.senha = senha;
		this.user = user;
	}	
	
	/*==============
	 * MÉTODOS
	 *============*/
	/**
	 * @return Um objeto da classe PasswordAuthentication
	 * inicializado com o usuário e senha fornecidos.
	 */
	public PasswordAuthentication getPasswordAuthentication(){
		return new PasswordAuthentication(user, senha);
	}	
}

O que eu estou fazendo errado?

Obrigado!

2 Respostas

fcoury

cassio,

A única explicação que eu consigo é de que o SMTP que você está usando não precisa de autenticação :smiley:

O que eu faria é tentar fazer um envio “na mão”:

telnet smtpserver 25

Depois faria um teste:

HELO
MAIL From:<[email removido]>
RCPT To:<[email removido]>
DATA
Date: Tue, 17 Oct 06 13:26:31 EDT
From: [email removido]
To: [email removido]
Subject: reuniao

Vamos fazer a reuniao amanha, as 13:30.

No meu caso, fazer isso resulta em:

250 ok
553 UTILIZE A AUTENTICACAO PARA ENVIO DE MENSAGENS/THIS SERVER IS TO BE USED WITH AUTHENTICATION (#5.7.1)

O que indica que ele realmente precisa de autenticação.

Espero que isso ajude.

Abraços,

Felipe.

paulopugin

Criado 17 de outubro de 2006
Ultima resposta 14 de ago. de 2008
Respostas 2
Participantes 3