Envoyer un mail en Java

Fermé
hnajib Messages postés 41 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 21 mars 2014 - Modifié par hnajib le 11/07/2012 à 15:14
Bonjour,

En bref je vais décrire mon problème.
Dans mon programme JAVA, g un formulaire pour les gens qui ont oublié leur mot de passe, il rentrent leur mails et il reçoivent un mail,sauf que ce dernier marche pas, et je ne vois pas d'ou peut venir l'erreur.
Mon code est :
Ma classe Mail :
public class Mail 
{ 
    public static void send(String address, String name, String subject, String content) 
    { 
        Logger logger = LoggerFactory.getLogger(Dashboard.class); 
        Runtime runtime = Runtime.getRuntime(); 
        try 
        { 
            String[] cmd = { "python", Parameters.UTIL_DIRECTORY + "mail.py", 
                             "--login", "noreply@ubiquiet.com", 
                             "--password", "killbill", 
                             "--sender", "\"UbiQuiet Dashboard\" <noreply@ubiquiet.com>", 
                             "--receiver", "\"" + name + "\" <" + address + ">", 
                             "--subject", subject, 
                             "--body", content }; 
            Process process = runtime.exec(cmd); 
            try 
            { 
                process.waitFor(); 
            } 
            catch (InterruptedException e) 
            { 
                logger.error("failed to deliver an email: {}", new Object[] { e.getMessage() }); 
            } 
        } 
        catch (IOException e) 
        { 
            logger.error("failed to deliver an email: {}", new Object[] { e.getMessage() }); 
        } 
    } 
}

Ma classe Parametre :
public class Parameters 
{ 
 public enum DC_INSTANCES 
 { 
     Dev, 
             ..... 
         } 
  public static final DC_INSTANCES DC_INSTANCE = DC_INSTANCES.Dev; 
  public static String UTIL_DIRECTORY = "../../"; (chemin ou il ya mon fichier mail.py) 
...... 
}

dans ma classe LostPassword :
Button sendMail = new Button("OK", new Button.ClickListener() 
        { 
            @Override 
            public void buttonClick(ClickEvent event) 
            { 
                if (email.isValid()) 
                { 
                    Session session = HibernateUtil.getCurrentSession(); 
                    User user = (User) session.createQuery("from User u where u.email = :email").setParameter("email", email.getValue().toString()).uniqueResult(); 
                    HibernateUtil.closeCurrentSession(); 
                    PasswordReset code = new PasswordReset(); 
                    code.setUser(user); 
                    code.setTimestamp(new Date()); 
                    HibernateUtil.save(code); 
                    code.setCode(Hasher.hash(code.getId().toString(), "", Hasher.MD5)); 
                    HibernateUtil.save(code); 
                    Mailer.send(user.getEmail(), 
                                user.getName(), 
                                "Code pour retrouver votre mot de passe ", 
                                String.format("Bonjour %s,\n\nVoici le lien qui vous permettra d'initialiser votre mot de passe :\n\n%s\n\nÀ bientôt !\n\n", 
                                              user.getFirstname(), 
                                              code.getCode())); 
                    emailConfirm.addComponent(new Label("Un email vient de vous être envoyé. ")); 
                } 
            } 
        });


L'erreur que j'ai a l'envoi du mail est ;
Invocation of method buttonClick in com.MonProjet.LostPassword$2 failed.

Merci pour votre aide.