我在Java应用程序中发送邮件时遇到问题 . 如果我正在尝试从Main发送电子邮件,它的工作正常,但是当我尝试从请求中发送一封电子邮件时,它会被卡住 . 我已经尝试使用SSL和TLS . 我的邮件服务的代码,我也设置smtp详细信息,我设置谁,谁和什么发送 .

@Service
public class MailService {

    public static void sendMailSSL(){
        final String username = "x@gmail.com";
        final String password = "password";

        System.out.println("Sending mail...");
        Properties props = new Properties();

        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.ssl.socketFactory.fallback", "false");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username,password);
                    }
                });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("plesha.gabi@gmail.com"));
            message.setSubject("Testing Subject");
            message.setText("Dear Mail Crawler," +
                    "\n\n No spam to my email, please!");

            Transport.send(message);

            System.out.println("Done");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }

And the class where i call this method: 

@CrossOrigin(maxAge = 3600)
@RestController
@RequestMapping("/user")
public class UserController {


    @Autowired
    private MailService mailService;



    @RequestMapping(value = "/sendmail", method = RequestMethod.PUT)
    public String sendMail() throws MessagingException  {
        MailService.sendMailSSL();
        return "Successfully send an e-mail";
    }
}