[java] Probleme avec la classe Authenticator

Probleme avec la classe Authenticator [java] - Java - Programmation

Marsh Posté le 23-03-2004 à 15:41:44    

salut a tous,
et bien j'essaye de faire une petite application qui envoit des mails en SMTP mais la je bloque sur la classe authenticator, qui pemet de m'identifier aupres du serveur mail.
j'ai bien crée une classe qui hérite d'Authenticator, j'ai bien redéfinit la méthode demandée, mais rien y faire, le serveur me jette toujours comme un malpropre en me disant qu'il faut que je m'autentifie. argh!
 
J'utilise JavaMail et la classe authenticator ne possede pas de méthode setDefault(Authenticator) contrairement à la classe Authenticator du package net qui en possède une.... je ne sais pas si le probleme peut venir de la...
 
un peu de code donc :

Code :
  1. try
  2.     {
  3.  Properties prop=System.getProperties();
  4.  prop.put("mail.smtp.host",host);
  5.  Log loggin=new Log();
  6.  Session session=Session.getInstance(prop, loggin);
  7.  Message message=new MimeMessage(session);
  8.  message.setFrom(new InternetAddress(from));
  9.  message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to,false));
  10.  message.setSubject(sujet);
  11.  message.setText("c'est un test" );
  12.  message.setHeader("X-Mailer",mailer);
  13.  message.setSentDate(new Date());
  14.  session.setDebug(false);
  15.  Transport.send(message);
  16.     }


 
et une classe pour pouvoir s'authentifier :

Code :
  1. import javax.mail.*;
  2. public class Log extends Authenticator
  3. {
  4.     private final String loggin="XXXXXX";
  5.     private final String pass="XXXXXXX";
  6.     protected PasswordAuthentication getPasswordAuthentication()
  7.     {
  8. return new PasswordAuthentication(loggin, pass);
  9.     }
  10. }


 
ce serait chouette si quelqu'un pouvait me donner un coup de main!!!!!
merci beaucoup!!!
 
Gian

Reply

Marsh Posté le 23-03-2004 à 15:41:44   

Reply

Marsh Posté le 23-03-2004 à 17:59:06    

Aller les gars!!!! une petite reponse pour aider le petit noouveau en Java s'il vous plait!!

Reply

Marsh Posté le 23-03-2004 à 20:32:06    

Il me semble que tu dois dois enregistrer ton objet Authenticator avec la méthode statique setDefault() avant de te connecter à ton serveur SMTP:
 

Code :
  1. Authenticator.setDefault(new Log());


 
J'ai jamais fait ça avant...

Reply

Marsh Posté le 23-03-2004 à 22:42:31    

merci beaucoup pour ta réponse!!!
Malheureusement, la classe Authenticator de l'api javamail ne possede pas de méthode setDefault, alors que la classe Authenticator du package net oui....
quelqu'un possede-t-il la réponse?
merci!
Gian

Reply

Marsh Posté le 24-03-2004 à 11:08:09    

euh.... ne faudrais-t-il pas plutot utiliser un objet de la classe Store ? je ne sais pas trop en fait... :-/ dans ce cas pourquoi avoir fait une classe Authenticator?

Reply

Marsh Posté le 24-03-2004 à 11:15:12    

Essaie de voir si cette page ne te donne pas le code nécessaire à ce que tu veux faire:
 
http://www.jguru.com/faq/view.jsp?EID=772832

Reply

Marsh Posté le 24-03-2004 à 21:16:11    

( javamail => demo ) = facile

Reply

Marsh Posté le 24-03-2004 à 23:04:40    

merci machintrucbidule1974 je regarde ca demain!!!
 
meumeul?
il semblerais bien que ce soit du store qu'il faille utiliser...  ;)


Message édité par Giansolo le 24-03-2004 à 23:05:14
Reply

Marsh Posté le 25-03-2004 à 15:04:51    

ce que je voulais dire par la, c'est que si tu veux envoyer des mails via smtp avec java, le plus facile (et le plus propre je pense) c 'est d'utiliser l'api javamail. t'as des sample, dont un qui fait exactement ce que tu veux. Du coup, plus de problèmes d'authentification peut etre...

Reply

Marsh Posté le 25-03-2004 à 17:28:22    

et bien meulmeul, j'utilise déjà l'api JavaMail.
mais le probleme reste entier.... j'ai un exemple sur cette page la : http://java.sun.com/developer/Tech [...] _JohnZ.txt mais impossible de le faire marcher correctement... le serveur mail me demande toujours une authentification comme si le programme n'allait pas chercher la méthode de la classe dérivée public PasswordAuthentication getPasswordAuthentication()
............

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed