[JACOB] Souci Envoi de mail en JAVA
Bonjour,
J'utilise la bibliothèque Jacob pour mon application JAVA. Elle sert à envoyer un message selon l'utilisateur via Outlook (obligatoire).
Si je lance l'application via mon eclipse, tout se passe bien.
Si je lance l'application via le .JAR exécutable, Outlook ne se lance même pas.
J'ai pourtant bien regardé, et j'ai bien tout mis dans le BuildPath, ainsi que mis la library jacob à exporter dans les configurations.
Bref, je fais choux-blanc.
Auriez vous des idées ?
Merci d'avance
Jacob - Erreur java.lang.ExceptionInInitializerError
Je travaille depuis plusieurs mois sur un projet mais je suis confronté à un problème d'envoi de mails.
Il faut savoir que mon entreprise m'impose de prendre la main sur outlook pour envoyer les mails donc des classes types javamail ne fonctionne pas.
Après plusieurs heures à consulter des forums, j'ai trouvé Jacob.
Je l'ai pris en mis, corrigé quelques erreurs liées au Classpath et library mais je suis depuis plusieurs jours confronté à l'erreur java.lang.ExceptionInInitializerError
Quelqu'un a-t-il une idée?
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
public class SendMail {
public static void main(String[] args) {
ActiveXComponent oOutlook = new ActiveXComponent("Outlook.Application");
Dispatch.call(oOutlook ,"GetNamespace","MAPI").toDispatch();
Dispatch email = Dispatch.invoke(oOutlook.getObject(),"CreateItem", Dispatch.Get, new Object[] { "0" }, new int[0]).toDispatch();
Dispatch.put(email, "To", "xxx@xxx.com");
Dispatch.put(email, "Subject", "xxx");
Dispatch.put(email, "Body", "xxx");
Dispatch.put(email, "Body", getCuerpoEmail("C:\\log.txt"));
Dispatch.put(email, "ReadReceiptRequested", "false");
try {
Dispatch.call(email, "Send");
} catch (com.jacob.com.ComFailException e) {
e.printStackTrace();
}
}
public static String getCuerpoEmail(String fileName)
{
String message = null;
FileInputStream file;
try {
file = new FileInputStream(fileName);
byte[] b = new byte[file.available()];
file.read(b);
file.close();
message = new String(b);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return message;
}
} |