2014-08-29 81 views
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(但我可以找到我的图片,当我粘贴到浏览器或资源管理器的路径)

我不明白,任何想法? 谢谢!

回答