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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
package Utilities;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
* Classe permettant d'envoyer un mail.
*/
public class SendMail implements Runnable
{
private final static String MAILER_VERSION = "Java";
private static boolean debug = false;//Suivi de l'execution en concole si à "true"
public static boolean result;
private static String serveurIPaddress = "";
private static String recepteur1AdressMail = "";
private static String recepteur2AdressMail = "";
private static String emetteurAdressMail="";
private String mess;
private String title;
public SendMail(String message, String titre)
{
mess = message;
title = titre;
}
public void run()
{
envoyerMailSMTP(mess, title);
}
/**Methode initialisant l'adresse IP du serveur mail SMTP*/
public static void setServeurIPaddress(String ip)
{
serveurIPaddress = ip;
}
/**Methode initialisant l'adresse email du recepteur n°1*/
public static void setRecepteur1AdressMail(String mail)
{
recepteur1AdressMail = mail;
}
/**Methode initialisant l'adresse email du recepteur n°2*/
public static void setRecepteur2AdressMail(String mail)
{
recepteur2AdressMail = mail;
}
/**Methode initialisant l'adresse mail emeteur*/
public static void setEmetteurAdressMail(String mail)
{
emetteurAdressMail = mail;
}
public static String getServeurIPaddress()
{
return serveurIPaddress;
}
public static String getRecepteur1AdressMail()
{
return recepteur1AdressMail;
}
public static String getRecepteur2AdressMail()
{
return recepteur2AdressMail;
}
public static String getEmetteurAdressMail()
{
return emetteurAdressMail;
}
/**Methode envoyant un mail avec le message entré en paramètre
* ATTENTION LES ACCENS NE SONT PAS GERES !!!*/
public static boolean envoyerMailSMTP(String text, String title)
{
result = false;
try {
Properties prop = System.getProperties();
prop.put("mail.smtp.host", serveurIPaddress);
Session session = Session.getDefaultInstance(prop,null);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(emetteurAdressMail));//expediteur temporaire avant adresse définitive
InternetAddress[] internetAddresses = new InternetAddress[2];
internetAddresses[0] = new InternetAddress(recepteur1AdressMail);//recepteur n°1
internetAddresses[1] = new InternetAddress(recepteur2AdressMail);//recepteur n°2 (dans le cas d'un tableau à 2 entrée (...new InternetAddress[2];)
message.setRecipients(Message.RecipientType.TO,internetAddresses);
message.setSubject("Reservation "+title);
message.setText(text);
message.setHeader("X-Mailer", MAILER_VERSION);
message.setSentDate(new Date());
session.setDebug(debug);
Transport.send(message);
result = true;
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
return result;
}
}
//checksum perso = 122 |
Partager