1
我有我的郵件發送方法的測試代碼。只發送HTML工作正常,但我嘗試添加附件(本地文件,所以「file:// ...」),我明白了。 :JavaMail附件nullPointer
顯示java.lang.NullPointerException在 javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:226)
我的代碼:
@Inject
private JavaMailSender mailSender;
...
MimeMessage message = mailSender.createMimeMessage();
Multipart multipart = new MimeMultipart();
// html
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setText(SomeHtml, "text/html; charset=\"UTF-8\"");
multipart.addBodyPart(htmlPart);
// image
MimeBodyPart imageBodyPart = new MimeBodyPart();
String fileName = ClassLoader.getSystemResource("chat1.jpg").toString();
DataSource source = new FileDataSource(fileName);
imageBodyPart.setDataHandler(new DataHandler(source));
imageBodyPart.setFileName(fileName);
multipart.addBodyPart(imageBodyPart);
message.setContent(multipart);
mailSender.send(message);
我試着使用MimeMessageHelper
,但我有同樣的結果。 我試過source.getInputStream().close()
,我有java.io.FileNotFoundException
(但我可以找到我的圖片,當我粘貼到瀏覽器或資源管理器的路徑)
我不明白,任何想法? 謝謝!