Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaMailSender对象未在Spring引导中发送电子邮件_Java_Spring Boot_Smtp_Gmail - Fatal编程技术网

JavaMailSender对象未在Spring引导中发送电子邮件

JavaMailSender对象未在Spring引导中发送电子邮件,java,spring-boot,smtp,gmail,Java,Spring Boot,Smtp,Gmail,我想实现忘记密码功能。我的应用程序应向员工发送电子邮件。JavaMailSender对象的send()方法不起作用,并且我没有收到任何异常消息。我试过很多东西。例如: 我的ForgotPasswordController.java类(有问题的部分): 我也尝试过587端口,但不起作用 @PostMapping("/forgot_password") public String processForgotPassword(HttpServletRequest re

我想实现忘记密码功能。我的应用程序应向员工发送电子邮件。JavaMailSender对象的send()方法不起作用,并且我没有收到任何异常消息。我试过很多东西。例如:

我的ForgotPasswordController.java类(有问题的部分):

我也尝试过587端口,但不起作用

@PostMapping("/forgot_password")
    public String processForgotPassword(HttpServletRequest request, Model model)
    {
        String email = request.getParameter("email");
        String token = RandomString.make(30);

        
        try 
        {
            employeeDAO.updateResetPasswordToken(token, email);
            String resetPasswordLink = Utility.getSiteURL(request) + "/reset_password?token=" + token;

            sendEmail(email, resetPasswordLink);
            model.addAttribute("message", "We have sent a reset password link to your email. Please check.");
             
        }
        catch (Exception e) 
        {
            model.addAttribute("error", "Error while sending email");
        }
             
        return "forgot_password_form";
    }
    
    public void sendEmail(String recipientEmail, String link) throws Exception
    {
        MimeMessage message = mailSender.createMimeMessage();              
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
         
        helper.setFrom(new InternetAddress("svemir2212@gmail.com"));
        helper.setTo(recipientEmail);
         
        String subject = "Here's the link to reset your password";
         
        String content = "<p>Hello,</p>"
                + "<p>You have requested to reset your password.</p>"
                + "<p>Click the link below to change your password:</p>"
                + "<p><a href=\"" + link + "\">Change my password</a></p>"
                + "<br>"
                + "<p>Ignore this email if you do remember your password, "
                + "or you have not made the request.</p>";
         
        helper.setSubject(subject);
         
        helper.setText(content, true);
         
        mailSender.send(message);
    }
spring.mail.host = smtp.gmail.com
spring.mail.port = 465
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.username = mymail@gmail.com
spring.mail.password = somepassword
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.auth.starttls.enable=true
spring.mail.properties.mail.smtp.ssl.enable = true
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback = false