春季启动时发送电子邮件

时间:2018-07-09 02:15:17

标签: java spring-boot

我正在尝试创建一个有关使用thymeleaf在春季启动中发送电子邮件的项目 但我遇到了错误:

  

发生意外错误(类型=内部服务器错误,状态= 500)。   失败消息:javax.mail.SendFailedException:无效的地址;嵌套的例外是:com.sun.mail.smtp.SMTPAddressFailedException:553 5.1.2收件人地址不是有效的RFC-5321地址。 n143-v6sm7661221ion.53-gsmtp

项目链接为:enter link description here

1 个答案:

答案 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);
    }

因此,您需要有效的fromto参数,这些参数必须是有效的电子邮件地址,例如yourname@yourdomain.com

在您的控制器中,您可以像下面这样调用该方法:

mailService.sendMail("property_mail","contact_mail",subject,message);

"property_mail""contanct_mail"不是有效的电子邮件地址...

例如,以下调用将起作用:

mailService.sendMail("noreply@yourname.com", mail, subject, message);,其中mail是您从控制器方法获取的参数。