Spring Integration Mail IMAP支持OAuth2吗?

问题描述 投票:0回答:1

我正在使用Spring Integration Mail来处理imap闲置事件。我想用token来实现IMAP gmail客户端,而不是使用用户名和密码,请问Spring Integration Mail IMAP是否支持OAuth2?

Spring Integration Mail IMAP是否可以用访问令牌连接到gmail商店?

以下是我使用的代码

IntegrationFlow flow = IntegrationFlows
            .from(Mail.imapIdleAdapter("imaps://[username]:[password]@imap.gmail.com:993/inbox")
                    .javaMailProperties(p -> p
                            .put("mail.debug", "false")
                    .autoStartup(false)
                    .shouldReconnectAutomatically(true)
                    .userFlag("testSIUserFlag")
                    .headerMapper(new DefaultMailHeaderMapper()))
            .handle((Message<?> message) -> {
                logger.info("message: " + message);
            })
            .get();
spring-boot email spring-integration imap spring-integration-dsl
1个回答
0
投票

好吧,听起来我们只需要执行一些REST请求来获取令牌,并与一些Java Mail属性一起将其设置为URL,而不是该URL [password] 占位符。https:/kgiann78.github.iojavagmail20170316JavaMail-send-mail-at-Google-with-XOAUTH2.html。

 Properties props = new Properties();
 props.put("mail.imap.ssl.enable", "true"); // required for Gmail
 props.put("mail.imap.sasl.enable", "true");
 props.put("mail.imap.sasl.mechanisms", "XOAUTH2");
 props.put("mail.imap.auth.login.disable", "true");
 props.put("mail.imap.auth.plain.disable", "true");

为了这个目的,听起来你应该使用动态流注册,所以你可以先执行令牌请求,然后再进行注册。Mail.imapIdleAdapter() 基于第一个请求的结果。https:/docs.spring.iospring-integrationdocscurrentreferencehtmldsl.html#java-dsl-runtime-flows。

© www.soinside.com 2019 - 2024. All rights reserved.