java - 无法使用 Spring 框架发送邮件

标签 java spring email

通过发送电子邮件,我遇到以下异常:

org.springframework.mail.MailSendException: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. b10sm22671312wmi.34 - gsmtp

这是我用于发送电子邮件的代码:

MailRequest mailRequest = new MailRequest();
mailRequest.setSubject(messageByLocale.getMessage("mail.subject.forgetpassword"));
mailRequest.setTemplateName(messageByLocale.getMessage("mail.template.forgetpassword"));
mailRequest.setToEmail(tbNstyleloyalty.getEmail());
Map<String, Object> map = new HashMap<>();
map.put("tbNstyleloyalty", tbNstyleloyalty);
mailingConfig.sendEmail(mailRequest, map);

我的 sendEmail 方法是:

@Async
public void sendEmail(MailRequest mailRequest, Map<String, Object> model) {
    MimeMessagePreparator preparator = new MimeMessagePreparator() 
    {
        @Override
        public void prepare(MimeMessage mimeMessage) throws Exception {
                MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
                message.setTo(mailRequest.getToEmail());
                message.setSubject(mailRequest.getSubject());
                message.setText(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,templatePath + mailRequest.getTemplateName() + ".vm", ApplicationConstants.CHARSET_UTF8, model),true);
         }
    };
    this.javaMailSender.send(preparator);
}

请帮助我克服这个问题。

谢谢!

最佳答案

谢谢各位的回答。您给出的所有答案都是正确的,但我无法理解应该在哪里添加此属性。

最后我补充一下:

spring.mail.properties.mail.smtp.starttls.enable = true

到我的属性文件,然后我就成功了。

关于java - 无法使用 Spring 框架发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42669659/

相关文章:

java - 无法将数组列表作为依赖项注入(inject)

PHP 邮件脚本运行多次(使用 Mailgun)

java - 在android中未经身份验证的电子邮件

Java - 获取当前 JAR 中的文件名列表

java - 如何在 IntelliJ 中更改 Maven 的 Java 版本?

java - jsoup getElementsByAttribute 问题

java - 形式错误 : org. springframework.dao.EmptyResultDataAccessException : Incorrect result size: expected 1, 实际 0

javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:PKIX 路径构建失败 google recaptcha

java - 在spring boot中重命名application.properties,也用于spring boot测试

带附件的 php mail() 返回 noname.txt