2017-10-09 4 views
0

Je veux envoyer pour envoyer le contenu html avec une pièce jointe. Alors, comment peut-il être envoyé dans le même courrier?Impossible d'envoyer du contenu html avec pièce jointe en utilisant le courrier java api

Quelqu'un pourrait-il me guider? Merci

try { 

MimeMessage message = new MimeMessage(session); 
      message.setFrom(new InternetAddress(user)); 


      message.addRecipient(Message.RecipientType.CC,new InternetAddress("[email protected]")); 
      MimeBodyPart messageBodyPart1 = new MimeBodyPart(); 
      messageBodyPart1.setText(data, "text/html"); 
      MimeBodyPart messageBodyPart2 = new MimeBodyPart(); 
      String filename = "Data.xlsx";//change accordingly 
      DataSource source = new FileDataSource(filename); 
      messageBodyPart2.setDataHandler(new DataHandler(source)); 
      messageBodyPart2.setFileName(filename); 
      Multipart multipart = new MimeMultipart(); 
      multipart.addBodyPart(messageBodyPart1); 
      multipart.addBodyPart(messageBodyPart2); 
      message.setSubject("FOS Report"); 
      message.setContent(multipart); 

    //send the message 
    Transport.send(message); 

    System.out.println("message sent successfully..."); 

    } 
catch (MessagingException e) { 
e.printStackTrace();} 

Répondre

0

Lorsque vous avez deux différents types de contenus, (binaires et HTML dans votre cas), vous devez utiliser un rendu correct pour multipart. Vous pouvez en apprendre davantage sur multipart ici: http://docs.oracle.com/javaee/6/api/javax/mail/Multipart.html

Sur la façon de travailler avec JavaMail avec multipart, un tutoriel très agréable ici: https://www.programcreek.com/java-api-examples/javax.mail.Multipart

S'il vous plaît commentaire/boîte de réception si vous avez besoin d'une aide supplémentaire.

+0

message.setContent (multipart.getBodyPart (i)); – Rahul

+0

puis-je utiliser obtenir la partie du corps selon l'index que j'ai fourni au moment de l'ajout de la partie du corps – Rahul

+0

maintenant j'ai obtenu votre point merci pour vos docs et l'exemple. – Rahul