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
|
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class SendMail {
public SendMail(final String user, final String password, String emetteur, String destinataire, String sujet, String messageText, String[] pieceJointe) {
Properties props = new Properties();
FichierConfig config = new FichierConfig();
props.put("mail.smtp.host", config.get("mail.smtp.host", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.socketFactory.port", config.get("mail.smtp.socketFactory.port", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.socketFactory.class", config.get("mail.smtp.socketFactory.class", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.auth", config.get("mail.smtp.auth", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.port", config.get("mail.smtp.port", FenetreCalculPose.CONFIG_MAIL));
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(emetteur));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(destinataire));
message.setSubject(sujet);
Multipart mp = new MimeMultipart();
for (int i = 0; i < pieceJointe.length; i++) {
MimeBodyPart pj = new MimeBodyPart();
FileDataSource source = new FileDataSource(pieceJointe[i]);
pj.setDataHandler(new DataHandler(source));
pj.setFileName(source.getName());
mp.addBodyPart(pj);
}
MimeBodyPart ms = new MimeBodyPart();
ms.setText(messageText);
mp.addBodyPart(ms);
message.setContent(mp);
Transport.send(message);
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
} |
Partager