JavaMail: Utilisation de ‘FileDataSource’ pour envoyer un fichier par email

Author:

 fichier, date, set, stack, email, javaMail, session, JavaMail, java
{filelink=1005}

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class Emails_Attachement
{

  static String message1 = "Voici mon message";

  public static void main(String[] args)
  	{

    Properties prop = new Properties();
    prop.put("mail.smtp.host", "monserveumail");
    prop.put("mail.from", "moi@example.com");

    String to = "contact@exemple.com";    // destinataire

    Session session = Session.getInstance(prop, null);

    try {
      // Créer un message
      MimeMessage msg = new MimeMessage(session);

      // Définir l'en tête du message
      msg.setFrom();
      msg.setRecipients(Message.RecipientType.TO, to);
      msg.setSubject("Test d'envoi d'email multipart/mixed");
      msg.setSentDate(new Date());

      // Créer la partie contenu du premier message
      MimeBodyPart mbp1 = new MimeBodyPart();
      mbp1.setText(message1);

      // Créer la partie contenu du second message
      // réservé au fichier joint
      MimeBodyPart mbp2 = new MimeBodyPart();

      // Attacher le fichier à l'email
      FileDataSource fichier_joint = new FileDataSource("c:/photo.jpg");
      mbp2.setDataHandler(new DataHandler(fichier_joint));
      mbp2.setFileName(fichier_joint.getName());

      // Créer un conteneur multipart pour les deux contenus
      Multipart mp = new MimeMultipart();
      mp.addBodyPart(mbp1);
      mp.addBodyPart(mbp2);

      // Ajouter le Multipart au message
      msg.setContent(mp);

      // Envoyer le message
      Transport.send(msg);

  } catch (MessagingException mex) {
      mex.printStackTrace();
      Exception ex = null;
      if ((ex = mex.getNextException()) != null) {
    ex.printStackTrace();
      }
  }
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *