我正在尝试在我的百万美元模板中使用内嵌图像。随后是本手册http://www.thymeleaf.org/doc/articles/springmail.html
由于未知原因未发送图像,我也没有收到任何错误。
模板中的:
<img src="image_name.png" th:src="|cid:${imageResourceName}|"/>
发送电子邮件:
@Autowired
private JavaMailSender mailSender;
@Autowired
private SpringTemplateEngine templateEngine;
@Value(value = "classpath:templates/mails/listing/images/img11.png")
private Resource logoImageResource;
public boolean sendRichEmail(String receipient, EmailType emailType) {
EmailMessageConstructor emailMessageConstructor = new EmailMessageConstructor(emailType);
String recipientAddress = receipient;
String subject = emailMessageConstructor.getEmailTopic();
String from = "no-reply@xxx.com";
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = null;
try {
helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
final Context ctx = new Context();
ctx.setVariable("name", "User1");
ctx.setVariable("dateNow", new Date());
ctx.setVariable("dateExpired", MyUtils.addDays(new Date(), 30));
final String htmlContent = this.templateEngine.process(emailMessageConstructor.getEmailTemplate(), ctx);
mimeMessage.setContent(htmlContent, "text/html");
// Add the inline image, referenced from the HTML code as "cid:${imageResourceName}"
try {
String imageResourceName = logoImageResource.getFilename();
String imageContentType = new MimetypesFileTypeMap().getContentType(logoImageResource.getFile());
final InputStreamSource imageSource = new ByteArrayResource(IOUtils.toByteArray(logoImageResource.getInputStream()));
helper.addInline(imageResourceName, imageSource, imageContentType);
} catch (IOException e) {
e.printStackTrace();
}
helper.setTo(new InternetAddress(recipientAddress));
helper.setSubject(subject);
try {
helper.setFrom(new InternetAddress(from, "xxx"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
mailSender.send(mimeMessage);
} catch (MessagingException e) {
logger.error("Message creation exception: "+e.getMessage());
}
return true;
}
想要使用
中的图片/resources/templates/mails/listing/images/img11.png