package yash.noteappapi.mail;
import org.springframework.core.env.Environment;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.stereotype.Component;
@Component
public class FeedbackMailSender implements FeedbackSender
{
private JavaMailSenderImpl mailSender;
public FeedbackMailSender(Environment environment){
mailSender = new JavaMailSenderImpl();
mailSender.setHost(environment.getProperty("spring.mail.host"));
mailSender.setPort(Integer.parseInt(environment.getProperty("string.mail.port")));
mailSender.setusername(environment.getProperty("string.mail.username"));
mailSender.setPassword(environment.getProperty("spring.mail.password"));
}
@Override
public void sendFeedback(String from,String name,String feedback) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo("feedback@noteapp.com");
message.setSubject("New feedback from " + name);
message.setText(feedback);
message.setfrom(from);
this.mailSender.send(message);
}
}
这给出了错误
构造函数抛出异常;嵌套异常为 java.lang.NullPointerException 引起原因:java.lang.NullPointerException:null
它似乎是由Integer.parseInt()
引起的,但是由于port是一个int值,因此如果不将其解析为int就不会设置该端口,