java - 如何在邮件正文中发送图像而不是像java中的附件一样

标签 java email

我正在做Java Web应用程序,我在邮件正文中发送邮件,我需要显示图像,但是当我发送邮件时,它需要图像附件,我不想附件,我需要在正文内容中显示图像,任何人都可以请告诉我该怎么做

最佳答案

正如 @scary-wombat 提到的,您没有添加第一个标准。我想你的意思是:

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

您还可以向图像部分添加 Content-Disposition header :

messageBodyPart.setDisposition(MimeBodyPart.INLINE);

更新:

抱歉,您还必须向上移动 multipart 的创建:

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

更新2:

试试这个:

          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);

关于java - 如何在邮件正文中发送图像而不是像java中的附件一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45559834/

相关文章:

java - itext pdf,如何将字符串绘制到特定位置?

java - 获取 ClassCastException : java. lang.Integer cannot be cast to java.lang.String 错误而无需强制转换

php - 在 sendgrid 中向不同用户发送包含多条消息的电子邮件

vb.net - 通过vb中的Outlook发送电子邮件时出错?

Android 电子邮件、CSS 媒体查询和 Outlook Exchange

java - 无法连接到我的邮件服务器(java)

ruby - 使用 ruby​​-mail 阅读电子邮件不会以文本格式返回邮件正文

java - 为什么我们首先需要 isPrimitive() ?

java - 如何在jtable中显示部分文本

java - 将 Apache POI 与 GraalVM native 镜像结合使用 - 来自 XMLBeans 的 ClassCastException