首页 > 解决方案 > 认证失败;嵌套异常是 javax.mail.AuthenticationFailedException

问题描述

我正在尝试建立一个CRON工作,以便在我的应用程序触发应用程序时发送电子邮件。这是我的流程,一个 api 从数据库中获取数据,然后 CRON 作业将数据发送到电子邮件,设法通过存储过程获取数据,但是每当调用发送电子邮件服务时,我最终都会收到错误

org.springframework.jms.listener.adapter.ListenerExecutionFailedException: 监听器方法'public void edu.umd.aims.service.EmailService.sendMail(java.util.Map<java.lang.String, java.lang.String>) 抛出 javax .mail.MessagingException' 抛出异常;嵌套异常是 org.springframework.mail.MailAuthenticationException: Authentication failed; 嵌套异常是 org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:122) 处的 javax.mail.AuthenticationFailedException

这是我到目前为止所拥有的

@Scheduled(cron = "* 0,1 9-17 * * MON-FRI")
    public void sendMail(){
        Long week_millsecs = (long) (7 * 24 * 60 * 60);
        Long today = System.currentTimeMillis();
        Long EndDate= today - week_millsecs;
        Long BeginDate = today - (2 * week_millsecs);

        projects.forEach(project -> {
            if(project.equalsIgnoreCase("BAISV")) {

                List<RoRLogEmail> ticketList=ticketService.getRoRLogEmail(project);

                if(dataList != null) {
                    /*
                     * For each data: get email and send reminder
                     */
                    dataList .forEach(Ticket -> {
                        //JMS template doesnt accept object unless serialized. Lets us a map then
                        Map<String, String> ticket= new HashMap<>();

                        ticket.put("created_ByEmail", Ticket.getEA());
                        ticket.put("ticketId", Ticket.getWeekNumber());
                        ticket.put("messageBody", Ticket_Reminder_Body);

                        try {
                            emailService.sendMail(ticket);
                        } catch (MessagingException e) {
                            e.printStackTrace();
                        }
                        JmsTemplate jmsTemplate = _context.getBean(JmsTemplate.class);
                        jmsTemplate.convertAndSend("NotificationBox", ticket);
                    });

                }
            }
        });

    }

这是从 api 生成的 json,我想通过 cron Job 的电子邮件发送

[
    {
        "weekNumber": "0",
        "ea": "24"
    },
    {
        "weekNumber": "1",
        "ea": "37"
    },
    {
        "weekNumber": "2",
        "ea": "21"
    },
    {
        "weekNumber": "3",
        "ea": "18"
    },
    {
        "weekNumber": "4",
        "ea": "28"
    },
    {
        "weekNumber": "5",
        "ea": "36"
    },
    {
        "weekNumber": "6",
        "ea": "28"
    },
    {
        "weekNumber": "7",
        "ea": "31"
    },
    {
        "weekNumber": "8",
        "ea": "34"
    },
    {
        "weekNumber": "9",
        "ea": "32"
    },
    {
        "weekNumber": "10",
        "ea": "34"
    },
    {
        "weekNumber": "11",
        "ea": "22"
    }
]

不知道为什么我会收到这个错误,任何帮助将不胜感激

标签: javaspring-bootcron

解决方案


推荐阅读