Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
Ninguém sabe como eu uso a parte da própria autenticação, ou seja como chamo e executo o método para usar a autenticação (login e senha) ? _________________http://joaogil.ideology.com.br
Para quem quer usar JavaMail, entender como funcionam os protocolos SMTP/POP3/IMAP vai ser de grande valia. Sobre a instalação da API, há uma parte do readme que explica como fazer:
http://java.sun.com/products/javamail/README.txt
Obrigado Marcos, eu já tinha instalado o JavaMail e agora estudei a API do Authenticator.
Mas continuo me batendo com essa parte de autenticação. Atrapalho-me porque tem uma classe dentro da outra e não sei se devo chamar o método ou como devo chamar o método.
João, esse exemplo é pratico. Hum, vamos a um pouco de SMTP então. Esse protocolo foi definido inicialmente sem facilidades para realizar a autenticação dos usuarios e é por isso que temos, hoje, spam. As pessoas (de carater duvidoso) aproveitaram esse tipo de "brecha" para acessarem o servidor de SMTP sem precisarem de autenticação.
Depois, criou-se uma extensão chamada SMTP-AUTH no qual um cliente deve efetivamente realizar um login para ter acesso ao mail server e enviar emails. Java trata esse mecanismo de autenticação com um Authenticator. Isso funciona assim: há, na JavaMail API, a classe abstrata (Authenticator) que define, em parte, como a autenticação deve ser feita. Então, vc tem metodos como getDefaultUserName e getPasswordAuthentication que indicam ao servidor os dados do cliente.
Dito isso tudo, deixa eu ver se consigo alterar o exemplo para ficar mais intelegivel.
A implementação do Authenticator:
O trecho:
Cria um Authenticator com os dados que vc passar para esse construtor e o metodo:
Se vale desses dados para criar um PasswordAuthentication que informa ao server os dados usados. Depois, vc tem a classe que envia o email:
O trecho:
Diz ao servidor que o acesso será autenticado e indica os dados. É nessa parte que vc define a autenticação. Não há um metodo tipo doLogin e sim uma associação entre o Authenticator e Session.
Obrigado novamente Marcos, por você usar o seu tempo para me explicar sobre a classe Authenticator.
Porém, continua dando esse erro:
[color=blue:4357a0c185]C:\java_joao\Email>java SendEmail
Exception in thread "main" javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: 530 authentication required - for h
elp go to http://help.yahoo.com/help/us/mail/pop/pop-11.html
at javax.mail.Transport.send0(Transport.java:21 at javax.mail.Transport.send(Transport.java:80)
at SendEmail.sendSimpleMail(SendEmail.java:60)
at SendEmail.main(SendEmail.java:71)[/color:4357a0c185]
Bom, não sei mais o que fazer. Já tentei com vários emails e smtpserver e todos parecem que dá erro de transport.
Estou conectado na internet e não tenho nenhum FireWall.
Aparte do login e senha eu mudei na seguinte linha da classe SendEmail:
joaogilPosts:51
Estou tentando executar uma classe do nosso amigo Aspirante que envia email com autenticação.
Já configurei o JavaMail na minha jvm.
Porém não sei como usar a parte da própria autenticação. Não sei se devo chamar o método que autentica ???
Vejam o código:
_________________http://joaogil.ideology.com.br
ElectronickPosts:240