富文本变附件的问题只有一个答案,就是html中的src标签的值没有找到对应的inline的附件,inline附件所在的层级结构不影响邮箱服务器解析,也就是说MimeMutiPart的alternative层级下可以不包含inline附件的bodyPart,inline的bodyPart可以放到最外层的MimeMutiPart("mix")下
举例:
html格式如下:
这里的src值一定要在前面追加"cid:" 这是rfc标准
MimeBodyPart mimeBodyPart = new MimeBodyPart();
ByteArrayDataSource byteArrayDataSource = new ByteArrayDataSource(multipartFile.getInputStream(),multipartFile.getContentType());
byteArrayDataSource.setName(multipartFile.getOriginalFilename());
DataHandler dataHandler = new DataHandler(byteArrayDataSource);
mimeBodyPart.setContentID("");
mimeBodyPart.setFileName(MimeUtility.encodeText(multipartFile.getOriginalFilename()));
mimeBodyPart.setDataHandler(dataHandler);
mimeBodyPart.setDisposition(MimeBodyPart.INLINE);
totalMimePart.addBodyP