JavaMail附件空指针

标签 java jakarta-ee jakarta-mail email-attachments

我有我的邮件发送方法的测试代码。仅使用 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/

相关文章:

spring - 如何让 Spring MVC View (JSP) 的一个简单案例能够正常工作?

java - 用于 JUnit 测试的可配置邮件服务器模拟?

java - Spring MVC 3 验证不起作用

java - 如何将双线底部边框应用于 iText 中的单元格

java - 如何修复 Java 11 + JavaFX Hibernate 模块的 module-info.java

java - 如何在用户无需安装的情况下使用 JavaMail API?

android - 我无法从 Java Mail Api 发送 Yahoo Mail

java - 如何匹配字符串输入

java - EJB服务器和EJB容器提供的功能有什么区别?

java - 浏览器特定的 session 管理