![](/img/trans.png)
[英]SWT java.lang.IllegalArgumentException: Argument cannot be null
[英]java.lang.IllegalArgumentException: The 'original' message argument cannot be null
我正在嘗試使用Spring發送電子郵件。 看我的代碼:
public class Provider {
private MailSender mailSender;
private SimpleMailMessage message;
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
public void setMessage(SimpleMailMessage message) {
this.message = message;
}
public static String getTemplateName() {
return "mainLayout/layout.jsp";
}
public void placeOrder() {
// ... * Do the business calculations....
// ... * Call the collaborators to persist the order
// Create a thread safe "sandbox" of the message
SimpleMailMessage msg = new SimpleMailMessage(this.message);
msg.setTo("babobka@bk.ru");
msg.setText("Hello");
try {
mailSender.send(msg);
} catch (MailException ex) {
// log it and go on
System.err.println(ex.getMessage());
}
}
}
不知道為什么它不起作用。 我不知道怎么了 我添加了所有郵件等郵件。
SimpleMailMessage msg = new SimpleMailMessage(this.message);
我認為this.message
為null。您應該首先對其進行初始化。
我也遇到了同樣的問題。 實際上,您需要按以下方式初始化SimpleMailMessage對象。
SimpleMailMessage msg = new SimpleMailMessage();
以下是我的工作代碼,可用來發送郵件。 我建議您嘗試一下。
@Component
public class MailSenderApp {
@Autowired
JavaMailSender mailSender;
public void sendSimpleMail(int id){
SimpleMailMessage msg = new SimpleMailMessage();
msg.setCc("kumar@gmail.com");
msg.setTo("kumar@gmail.com");
msg.setSubject("Simple Message");
msg.setText("Hello This is sample Mail to test");
try{
this.mailSender.send(msg);
}
catch(MailException ex) {
System.err.println(ex.getMessage());
}
}
您將需要創建JavaMailSender Bean,就像我在下面的配置代碼片段中所做的那樣。
/**
* Mail sender configuration
*
*/
@Bean
public JavaMailSender javaMailService() {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setHost("host");
javaMailSender.setPort("port");
javaMailSender.setUsername("username");
javaMailSender.setPassword("password");
javaMailSender.setJavaMailProperties(getMailProperties());
return javaMailSender;
}
/**
* Property setters for mail
*
*/
private Properties getMailProperties() {
Properties properties = new Properties();
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.starttls.enable", "true");
properties.setProperty("mail.debug", "true");
return properties;
}
下面的語句解決了我的null錯誤:
SimpleMailMessage smm=new SimpleMailMessage();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.