spring-boot - 通过 Spring Boot_Basic 发送电子邮件。问候空指针异常
问题描述
我创建了两个类 EmailSenderService.java 和 SpringEmailDemoApplication.java,如下所示。
EmailSenderService.java
@Service
public class EmailSenderService {
@Autowired
private JavaMailSender mailSender;
public void sendEmail(String toEmail,
String subject,
String body){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("ABC@gmail.com");
message.setTo(toEmail);
message.setSubject(subject);
message.setText(body);
mailSender.send(message);
System.out.println("Mail send via Spring Boot Successfully...");
}
}
SpringEmailDemoApplication.java
@SpringBootApplication
public class SpringEmailDemoApplication {
@Autowired
public EmailSenderService senderService1;
public static void main(String[] args) {
SpringApplication.run(SpringEmailDemoApplication.class, args);
}
@EventListener(ApplicationReadyEvent.class)
public void sendMail(){
senderService1.sendEmail("XYZ@gmail.com",
"Spring boot Email sender",
"Hi How are you.");
}
}
但是在调用时运行程序后出现空指针异常senderService1.sendEmail
。
java.lang.NullPointerException: null
at com.sumitcodes.SpringEmailDemo.SpringEmailDemoApplication.sendMail(SpringEmailDemoApplication.java:20) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:344) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:229) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:166) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.9.jar:5.3
解决方案
我要问的第一件事是您是否配置了 JavaMailSender?
接下来,您是否尝试过在您的 IDE 调试器中运行?
从 sendMail() 方法中的 sendEmail 调用上的断点开始。然后单步执行代码,您应该更接近原因。
推荐阅读
- inheritance - 我正在使用 Odoo 13,并且我已经从 odoo 12 安装了一个模块
- docusignapi - Docusign - 将 PDF 文本字段转换为 initialHereTab
- c# - JsonConvert.PopulateObject 不使用布尔值
- python - 使用模拟检查函数时调用 PicklingError
- c# - 休息呼叫在 SSIS 中失败
- java - 如何根据值修改HashMaps
- javascript - 尝试在 while 循环中嵌套 if/else 语句
- python - 如何将数据框列表导出到每个 csv 文件?
- function - delphi属性读取函数加值
- javascript - 需要在Javascript中删除数组中每个单词末尾的s