2017-08-08 66 views

回答

1

正如@嚇人,袋熊提到的,你沒有添加的第一個標準桿。我想你的意思做:

 ... 
     // add it 
     multipart.addBodyPart(messageBodyPart); 
     // second part (the image) 
     ... 

您還可以添加一個Content-Disposition頭的圖像部分:

messageBodyPart.setDisposition(MimeBodyPart.INLINE); 

UPDATE:

對不起,你還必須動起來創造的多部分:

 ... 
     // add it 
     MimeMultipart multipart = new MimeMultipart("related"); 
     multipart.addBodyPart(messageBodyPart); 
     // second part (the image) 
     ... 

更新2:

在發送消息IOException異常;:

試試:

  BodyPart messageBodyPart = new MimeBodyPart(); 
      String htmlText = "<H1>Hello</H1><img src=\"cid:image\">"; 
      messageBodyPart.setContent(htmlText, "text/html"); 
      // add it 
     MimeMultipart multipart = new MimeMultipart("related"); 

     multipart.addBodyPart(messageBodyPart); 

     // second part (the image) 
      messageBodyPart = new MimeBodyPart(); 

      java.io.InputStream inputStream = this.getClass().getResourceAsStream("/HappyBirthday.JPG"); 
     ByteArrayDataSource ds = new ByteArrayDataSource(inputStream, "image/jpg"); 
     System.out.println(inputStream); 

      messageBodyPart.setDataHandler(new DataHandler(ds)); 
      messageBodyPart.setHeader("Content-ID", "<image>"); 

      messageBodyPart.setDisposition(MimeBodyPart.INLINE); 

     multipart.addBodyPart(messageBodyPart); 
     message.setContent(multipart); 
     // Send message 
     Transport.send(message); 
+0

HI,'javax.mail.MessagingException的 嵌套的異常是: \t java.io.IOException:javax.mail.MessagingException:No MimeBodyPart content'我得到了這個異常,我用你的代碼 – phani

+0

我更新了我是如何添加你的人兩個代碼你可以請告訴我在哪裏做了我錯了 – phani

+0

@phani你創建html部分,並且不做任何事情。在重新分配變量messageBodyPart(或者,如ScaryWombat建議的那樣,使用第二個變量)之前,應該將它添加到多部分。無論如何,這兩個部分都必須添加到多部分。 –

0

messageBodyPart.setContent(htmlText, "text/html"); 

// second part (the image) 
messageBodyPart = new MimeBodyPart();  

,你會看到你重新初始化messageBodyPartHTML零件尚未添加

我建議你使用一個不同的對象,然後同時添加

// second part (the image) 
messageBodyPart2 = new MimeBodyPart(); 
.... 
multipart.addBodyPart(messageBodyPart); 
multipart.addBodyPart(messageBodyPart2); 
相關問題