Object EMail send email with some options, accept protocol SMTP and SMTPS over SSL :
Sun JavaMail API 1.4 (under GPL v2) : http://java.sun.com/products/javamail/
- mail.jar 1.4 (pop3.jar, smtp.jar, imap.jar, mailapi.jar, dsn.jar)
JAF : http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp
- activation.jar
SSL explain and example :
We need to put SSL certificat in key store manager inside JRE...
Well see URL : https://altern.org/ with your browser.
And export SSL certificate of site web in file ex : altern.cer
Now import SSL certificate in key store manager :
go in path \j2sdk1.4.x_xx\jre\lib\security\
and use keytool with some options :
$> keytool -import -keystore cacerts -file altern.cer
The password by default of global key store manager is : 'changeit'
Now we can communicate with the domain in POP or SMTP over SSL...
Example :
//Pop3 pop = new
Pop3("c:\\temp", "pop.xxxx.fr", "xxxx", "xxxx");
EMail fox = new
EMail("smtp.gmail.com"); //smtp.xxx.com
try
{
//Message[]
pop_message = pop.getMail(true);
//for (int i
= 0, n = pop_message.length; i < n; i++)
//{
// SSL connexion ?
fox.setSecureSMTP(true); // defaut false
fox.setPort(465); // gmail 25 (Ok ssl false), 465 (ok SSL true), 587 (Ok ssl
false!), default port 25
fox.setAuthentication("xxxx@gmail.com", "xxxx"); // active l'envoie du mail
avec authentification !!!
fox.setTLS(true); // mandatory for gmail
//fox.setQuitWait(false); // mandatory for gmail
// active le débuggage
fox.setDebug(true);
// active l'envoie du mail partiel, si une des adresses emails n'est pas
valide!!!
//fox.setPartial(true);
// ajouter un destinataire
//fox.addToAddress("test@xxxx.fr");
// attacher un destinataire d'adresse de reponse
//fox.addReplyTo("fox@xxxx.fr");
// priorité du mail : 0 basse, 1 moyenne, 2 haute
fox.setPriority(2);
// envoi du mail
// ordre des aguments : from, to , subject, body, files
//fox.sendMail("test@xxxx.fr", "faa@xxxx.fr", "test accents ê ô é è à ù €",
"Haloa ê ô é è à ù €!!!");
fox.setHtml(true);
fox.setSubject("test coucou");
fox.setBody("<b>test coucou</b>"); // html true!
fox.setFrom("xxxx@gmail.com");
fox.setTo("faa@xxxx.org");
fox.sendMail();
// exemple piece jointe
//fox.sendMail("test@xxxx.fr", "fandriano@xxxx.fr", "test accents ê ô é è à ù
€", "Haloa ê ô é è à ù €!!!", "C:\\temp\\date_serial.ser");
// exemple liste de pieces jointes
/*
String[] filesname =
{
"N:\\intranet\\sites\\xxxx\\exp_IMF002_1018622244161.csv",
"N:\\intranet\\sites\\xxxx\\exp_IMF001_1018622243801.csv"
};
fox.sendMail("test@xxxx.fr", "faa@xxxx.fr", "test", "Haloa !!! ",
filesname);
*/
// exemple forward
//fox.deleteAllAddress();
//fox.sendForward("test@xxxx.fr", "faa@xxxx.fr", "ceci est un forward!",
pop_message[i]);
// exemple redirect
//fox.deleteAllAddress();
//fox.sendRedirect("test@xxxx.fr", "aa@xxx.fr", pop_message[i]);
// efface le message du serveur pop3
//pop_message[i].setFlag(javax.mail.Flags.Flag.DELETED, true);
//}
}
catch (Exception e)
{
System.out.println(e);
e.printStackTrace();
}
finally
{
// ferme la
session pop3 et efface les messages flagger 'DELETED' !
/* try {
pop.close(true); } catch (MessagingException me) { } */
}
Source : EMail.java