首页 文章

Spring启动集成邮件 - 授权失败错误

提问于
浏览
0

以下是我用于pop3连接的spring配置bean,

@Bean
    public IntegrationFlow mailListener() {
        return IntegrationFlows.from(Mail.pop3InboundAdapter("pop3://sample.test:Sample2test_1@xxx.xx.x.xx/INBOX")
                 .shouldDeleteMessages(true).get(), 
                 e -> e.poller(Pollers.fixedRate(5000).maxMessagesPerPoll(1)))
            .<Message>handle((payload, header) -> logMail(payload))
            .get();
    }

还要仔细检查看起来不错的凭据 . 获得以下异常,

2018-06-22 19:27:54.351 ERROR 2092 --- [ask-scheduler-2] o.s.integration.handler.LoggingHandler:org.springframework.messaging.MessagingException:轮询邮件时发生故障;嵌套异常是javax.mail.AuthenticationFailedException:org.springframework.integration.mail.MailReceivingMessageSource.receive(MailReceivingMessageSource.java:131)的授权在org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:224)处失败Org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:245)org.springframework.integration.endpoint.AbstractPollingEndpoint.access $ 000(AbstractPollingEndpoint.java:58)org.springframework.integration.endpoint.AbstractPollingEndpoint $ 1 . 在Org.springframework.integration.endpoint.AbstractPollingEndpoint $ 1.call(AbstractPollingEndpoint.java:186)org.springframework.integration.endpoint.AbstractPollingEndpoint $ Poller $ 1.run(AbstractPollingEndpoint.java:353)调用(AbstractPollingEndpoint.java:190)在org.springframew的org.springframework.integration.util.ErrorHandlingTaskExecutor $ 1.run(ErrorHandlingTaskExecutor.java:55) org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:51)org.springframework.integration.endpoint.AbstractPollingEndpoint $ Poller.run( AbstractPollingEndpoint.java:344)org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)atg.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)at java.util.concurrent .Executors $ RunnableAdapter.call(Unknown Source)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 201(Unknown Source)at java.util.concurrent.ScheduledThreadPoolExecutor $ java.lang.Thread.run上的java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)中的ScheduledFutureTask.run(未知来源)java.lang.Thread.run上的java.man.run(未知来源) )引起:javax.mail.AuthenticationFailedException:comavun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:208)javax.mail.Service.connect(Service.java:295)的javax.mail授权失败位于org.springframework的org.springframework.integration.mail.AbstractMailReceiver.connectStoreIfNecessary(AbstractMailReceiver.java:286)的javax.mail.Service.connect(Service.java:125)上的.Service.connect(Service.java:176) . 在org.springframework.integration.mail.AbstractMailReceiver.receive(AbstractMailReceiver.java:319)的org.springframework.integration.mail.MailReceivingMessageSource.receive(MailReceivingMessageSource.java:)中的integration.mail.AbstractMailReceiver.openFolder(AbstractMailReceiver.java:293): 112)......还有19个

1 回答

  • 0

    有一个这样的选项:

    /**
     * The Java Mail properties.
     * @param javaMailProperties the javaMailProperties.
     * @return the spec.
     * @see AbstractMailReceiver#setJavaMailProperties(Properties)
     */
    public S javaMailProperties(Properties javaMailProperties) {
    

    您可以在那里指定 mail.debug = true 来跟踪交互期间邮件协议的情况 .

    UPDATE

    我们在您的日志中有这个:

    DEBUG POP3: connecting to host "172.16.1.45", port 995, isSSL false
    19:54:46.746 [task-scheduler-1] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'errorChannel'
    19:54:46.753 [task-scheduler-1] DEBUG org.springframework.integration.channel.PublishSubscribeChannel - preSend on channel 'errorChannel', message: ErrorMessage [payload=org.springframework.messaging.MessagingException: failure occurred while polling for mail; nested exception is javax.mail.MessagingException: Connect failed;
      nested exception is:
        java.net.ConnectException: Connection refused: connect, headers={id=290f4c5a-2dfe-d7cb-0637-a0e9f0394daa, timestamp=1529677486753}]
    

    所以,它不能只连接到 172.16.1.45:995 . 目前还没有身份验证握手 .

相关问题