java - Spring Boot 中的电子邮件
问题描述
我正在尝试制作一个关于在 Spring Boot 中使用发送电子邮件的项目,thymeleaf
但出现错误:
出现意外错误(类型=内部服务器错误,状态=500)。失败消息:javax.mail.SendFailedException:无效地址;嵌套异常是:com.sun.mail.smtp.SMTPAddressFailedException: 553 5.1.2 收件人地址不是有效的 RFC-5321 地址。n143-v6sm7661221ion.53 - gsmtp
项目链接是:在此处输入链接描述
解决方案
根据错误日志,您正在向格式错误的电子邮件地址发送电子邮件。您尝试使用哪个电子邮件地址发送电子邮件?也许您缺少主机名和顶级域之间的@
或。.
更新:我在您的代码中发现了错误:
你自己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);
}
因此,您需要 validfrom
和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
您从控制器方法获得的参数在哪里。
推荐阅读
- spring - 将代码freemarker执行成freemarker ftl
- asp.net-mvc - HttpContext.GetOwinContext() 获取重定向网址
- python - 如何检查我当前所在的 iframe?#硒#蟒蛇
- c - 如何使用 C 可视化 MPI 度量?
- oracle - Oracle 数据库的模糊搜索
- elixir - 只是运行 elixir 而不是打包它
- c# - 不同目标上的 WPF XAML Togglebutton 触发事件
- javascript - 如何编辑 div 元素并设置它们的样式(来自 UI)
- cassandra - 在 Terraform 中使用 helm 图表时如何修改 Cassandra 配置值
- javascript - Mongoose 没有在 save() 函数上创建集合