Как добавить изображение в электронном письме Java с HTML - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь отправить электронное письмо в java с изображением, однако я не могу этого сделать, может кто-нибудь, пожалуйста, дайте мне знать, почему это не работает, я отправляю электронное письмо с html template , Что я делаю не так?

SendEmail.java файл code, как показано ниже.

`    //Email settings code here
     MimeMultipart multipart = new MimeMultipart();
        BodyPart messageBodyPart = new MimeBodyPart();
        MimeMessage msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress(FROM,FROMNAME));
        msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
         String image ="<img src=\"cid:image\">";
        msg.setSubject(SUBJECT);
         DataSource fds = new FileDataSource("C:\\images\\web_logo_white.0e72366a.png");
         messageBodyPart.setDataHandler(new DataHandler(fds));
         messageBodyPart.setHeader("Content-ID", "<image>");
        Map<String, String> input = new HashMap<String, String>();

         if (msgBody.contains("Summary page was not")) {
           input.put("logo", image);
               }else{
                   // else block and other code continues here }

HTML file Куда я хотел добавить изображение

<table bgcolor="#f9f9f9" width="100%">
<tr>
<td>logo<h2><font color="#9d9d9d" ><b><center>Company Logo<center></b></font></h2>
</td>
</tr>
</table>

Я отправляю этот html файл в части setContent java

1 Ответ

0 голосов
/ 03 июля 2018

Поток изображения, как это

InputStream imageStream = YOurClass.class.getClass().getResourceAsStream("images/web_logo_white.0e72366a.png");
DataSource fds = new ByteArrayDataSource(IOUtils.toByteArray(imageStream), "image/png");
messageBodyPart.setDataHandler(new DataHandler(fds));
multipart.addBodyPart(messageBodyPart);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...