Java Mail : Pas de fournisseur de smtp

Je suis à l'aide de JavaMail pour faire une simple application qui envoie un e-mail quand il trouve des fichiers dans un répertoire. J'ai réussi à obtenir, il a travaillé à partir d'Eclipse. Je lance l'application et il a envoyé l'e-mail sans erreurs.

Mais, quand j'ai créé le bocal, et exécuté, il échoue dans l'e-mail de l'envoi de la partie.
Il donne à cette exception:

javax.mail.NoSuchProviderException: No provider for smtp
 at javax.mail.Session.getProvider(Session.java:460)
 at javax.mail.Session.getTransport(Session.java:655)
 at javax.mail.Session.getTransport(Session.java:636)
 at main.java.util.MailManager.sendMail(MailManager.java:69)
 at main.java.DownloadsMail.composeAndSendMail(DownloadsMail.java:16)
 at main.java.DownloadsController.checkDownloads(DownloadsController.java:51)
 at main.java.MainDownloadsController.run(MainDownloadsController.java:26)
 at java.lang.Thread.run(Unknown Source)

Je suis l'aide de la bibliothèque dans cette méthode:

public static boolean sendMail(String subject, String text) {
noExceptionsThrown = true;
try {
loadProperties();
} catch (IOException e1) {
System.out.println("Problem encountered while loading properties");
e1.printStackTrace();
noExceptionsThrown = false;
}
Properties mailProps = new Properties();
String host = "mail.smtp.host";
mailProps.setProperty(host, connectionProps.getProperty(host));
String tls = "mail.smtp.starttls.enable";
mailProps.setProperty(tls, connectionProps.getProperty(tls));
String port = "mail.smtp.port";
mailProps.setProperty(port, connectionProps.getProperty(port));
String user = "mail.smtp.user";
mailProps.setProperty(user, connectionProps.getProperty(user));
String auth = "mail.smtp.auth";
mailProps.setProperty(auth, connectionProps.getProperty(auth));
Session session = Session.getDefaultInstance(mailProps);
//session.setDebug(true);
MimeMessage message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(messageProps.getProperty("from")));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(
messageProps.getProperty("to")));
message.setSubject(subject);
message.setText(text);
Transport t = session.getTransport("smtp");
try {
t.connect(connectionProps.getProperty("user"), passwordProps
.getProperty("password"));
t.sendMessage(message, message.getAllRecipients());
} catch (Exception e) {
System.out.println("Error encountered while sending the email");
e.printStackTrace();
noExceptionsThrown = false;
} finally {
t.close();
}
} catch (Exception e) {
System.out.println("Error encountered while creating the message");
e.printStackTrace();
noExceptionsThrown = false;
}
return noExceptionsThrown;
}

Je suis le chargement de ces valeurs à partir des fichiers de propriétés.

mail.smtp.host=smtp.gmail.com
mail.smtp.starttls.enable=true
mail.smtp.port=587
mail.smtp.auth=true

J'ai essayé de changer l'hôte par ssl://smtp.de gmail.com, le port 465 (juste pour essayer quelque chose de différent), mais ça ne fonctionne pas non plus. De toute façon, si il fonctionne bien à partir d'Eclipse avec les paramètres d'origine, je suppose que les valeurs sont correctes, mais le problème, c'est la création du jar. Je ne sais pas beaucoup sur les résultats possibles ou des changements lors de la création d'un jar.
Pourrait le JavaMail les bibliothèques d'une certaine manière tournent mal quand le bocal est-il créé?

Avez-vous des idées?

OriginalL'auteur pablof | 2010-06-05