代码之家  ›  专栏  ›  技术社区  ›  Rahul

无法使用java mail api发送带有附件的html内容

  •  0
  • Rahul  · 技术社区  · 8 年前

    我想发送html内容以及附件。那么,如何在同一封邮件中发送呢?

    有人能给我指路吗。谢谢

    try {  
    
    MimeMessage message = new MimeMessage(session);  
                message.setFrom(new InternetAddress(user));  
    
    
                message.addRecipient(Message.RecipientType.CC,new InternetAddress("username@abc.com"));
                 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();}
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Yash    8 年前

    当您有两种不同类型的内容(本例中为二进制和HTML)时,您必须使用多部分格式来进行正确的格式副本。 您可以在此处了解Multipart: http://docs.oracle.com/javaee/6/api/javax/mail/Multipart.html

    https://www.programcreek.com/java-api-examples/javax.mail.Multipart

    如果您需要进一步帮助,请发表评论/收件箱。