我有我的邮件发送方法的测试代码。仅使用 html 发送工作正常,但我尝试添加附件(本地文件,因此“file://...”),我明白了。 :
java.lang.NullPointerException at 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
(但当我将路径粘贴到浏览器或资源管理器中时,我可以找到我的图像)
我不明白,有什么想法吗? 谢谢!
最佳答案
好的,我只是像这里一样更改我的代码 Null Pointer Exception while sending mail with attachment through JavaMail API on amazon server in Java Application
这是工作,但我不明白真正的区别......
关于JavaMail附件空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25564206/