为什么gmail会显示“noname”附件,用于使用amazonses发送的mimessagehelper addinline附加的图片?

mitkmikd  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(710)

当使用spring mimessagehelper通过addinline和ses发送来附加图标时,一些图标显示为“noname”附件。这些图像似乎是来自同一文件夹的随机未使用的图像。
附加线路代码

  1. private void attachIconsInEmailBody(MimeMessageHelper messageHelper, String iconsPath) throws IOException, MessagingException {
  2. Resource[] resources = resourcePatternResolver.getResources("classpath:" + iconsPath + "*.*");
  3. for (Resource attRes: resources) {
  4. String iconName = attRes.getFilename();
  5. messageHelper.addInline(iconName.split("\\.")[0], attRes);
  6. }

电子邮件代码

  1. MimeMessage message = new MimeMessage(session);
  2. MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
  3. messageHelper.setFrom(new InternetAddress(emailObject.getSender()));
  4. messageHelper.setTo(InternetAddress.parse(emailObject.getRecipients()));
  5. messageHelper.setSubject(emailObject.getSubject());
  6. messageHelper.setText(htmlBody, true);
  7. messageHelper.setSentDate(new Date(System.currentTimeMillis()));
  8. // add all the icons in-line to display in the email body
  9. attachIconsInEmailBody(messageHelper,"static/logo/SG/");

发送邮件代码:

  1. // send the email using the sendRawEmail API
  2. ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
  3. message.writeTo(outputStream);
  4. RawMessage rawMessage = new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));
  5. SendRawEmailRequest rawEmailRequest = new SendRawEmailRequest(rawMessage);
  6. SendRawEmailResult emailResult = sesClient.sendRawEmail(rawEmailRequest);
  7. // set the response back in the email object for any further recon
  8. emailObject.setEmailResult(emailResult);
  9. outputStream.close();
  10. return emailResult;

部分html代码:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. </head>
  6. <body>
  7. <td style="width: 40px; height: 120px;"><img
  8. src="cid:strauss_sg_blank1" style="height: 120px; width: 40px;"
  9. alt="strauss_sg_blank1">
  10. </td>
  11. <td valign="top"
  12. style="width: 40px; height: 30px; background: #ffffff;"><img
  13. src="cid:strauss_sg_blank2" style="height: 30px"
  14. alt="strauss_sg_blank2"></td>
  15. </body>
  16. </html>

徽标文件夹:

电子邮件附件:

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题