Mail HTML avec pièce jointe.
Bonjour,
J'aimerais pouvoir envoyer un mail avec une pièce jointe format "JPG", et que cette image puisse être affichée directement dans le corp du mail.
J'arrive pour le moment à envoyer un mail au format HTML, J'ai mon emplacement pour mon image dans le mail qui s'affiche avec un carré vide. Mais j'ai pas la pièce jointe dans le mail.
Je dois certainement zapper un truc ... 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 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
| package fr.isa.metier;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.util.ByteArrayDataSource;
public class JavaMailHTML
{
public static void main(String[] argv)throws Exception
{
final String PATH_TO_FILE = "C:/Users/xxx/Pictures";
Properties prop = new Properties();
prop.put("mail.smtp.host", "smtp.orange.fr");
prop.put("mail.from", "xxx@bbox.fr");
// Note: Aucune authentification n'est définie
Session session = Session.getInstance(prop, null);
//Ajout pièce jointe
File file = new File(PATH_TO_FILE + "/orang-outan.jpg");
FileDataSource datasource1 = new FileDataSource(file);
DataHandler handler1 = new DataHandler(datasource1);
MimeBodyPart orangOutan = new MimeBodyPart();
try {
orangOutan.setDataHandler(handler1);
orangOutan.setFileName(datasource1.getName());
} catch (MessagingException e) {
e.printStackTrace();
}
try {
MimeMessage msg = new MimeMessage(session);
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO,
"xxx@bbox.fr");
// Sujet
msg.setSubject("Bienvenu (objet du mail)");
// Date d'envoi
msg.setSentDate(new java.util.Date());
// Appel de la fonction qui construit le contenu HTML
buildMessage("Contenu du fichier", msg);
Transport.send(msg);
System.out.println("Email envoyé avec succès.");
} catch (MessagingException ex)
{
System.out.println("Erreur d'envoi, cause: " + ex);
}
}
public static void buildMessage(String contenu, Message msg) throws MessagingException, IOException {
String sujet = msg.getSubject();
StringBuilder sb = new StringBuilder();
sb.append("<HTML>");
sb.append("<HEAD>");
sb.append("<TITLE>");
sb.append(sujet + "");
sb.append("</TITLE>");
sb.append("</HEAD>");
sb.append("<BODY>");
sb.append("<H1>" + sujet + "</H1>" + "");
sb.append(contenu);
sb.append("");
sb.append("<H1>Orang-outan</H1><img src=\"orang-outan.jpg\"/><br/>");
sb.append("</BODY>");
sb.append("</HTML>");
msg.setDataHandler(new DataHandler(new ByteArrayDataSource(sb.toString(), "text/html")));
}
} |