我正在尝试创建一个有关使用thymeleaf
在春季启动中发送电子邮件的项目
但我遇到了错误:
发生意外错误(类型=内部服务器错误,状态= 500)。 失败消息:javax.mail.SendFailedException:无效的地址;嵌套的例外是:com.sun.mail.smtp.SMTPAddressFailedException:553 5.1.2收件人地址不是有效的RFC-5321地址。 n143-v6sm7661221ion.53-gsmtp
答案 0 :(得分:1)
根据错误日志,您正在将电子邮件发送到格式错误的电子邮件地址。您尝试在哪个电子邮件地址发送电子邮件?也许您缺少主机名和顶级域之间的@
或.
。
更新:我在您的代码中发现错误:
您自己的MailService
具有以下方法
public void sendMail(String from, String to, String subject, String body) {
SimpleMailMessage mail = new SimpleMailMessage();
mail.setFrom(from);
mail.setTo(to);
mail.setSubject(subject);
mail.setText(body);
javaMailSender.send(mail);
}
因此,您需要有效的from
和to
参数,这些参数必须是有效的电子邮件地址,例如yourname@yourdomain.com
。
在您的控制器中,您可以像下面这样调用该方法:
mailService.sendMail("property_mail","contact_mail",subject,message);
但 "property_mail"
和"contanct_mail"
不是有效的电子邮件地址...
例如,以下调用将起作用:
mailService.sendMail("noreply@yourname.com", mail, subject, message);
,其中mail
是您从控制器方法获取的参数。