当前位置:   article > 正文

Sping boot 整合mail读取OutLook 微软邮箱_获取邮箱数据 springboot

获取邮箱数据 springboot

前言

日常开发过程中,我们经常需要使用到邮件解析任务,本文主要针对masl方式读取OutLook 微软邮箱附件


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用步骤

1.引入

  1. <dependency>
  2. <groupId>javax.mail</groupId>
  3. <artifactId>mail</artifactId>
  4. <version>1.4.7</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.microsoft.azure</groupId>
  8. <artifactId>msal4j</artifactId>
  9. <version>1.11.0</version>
  10. </dependency>

2.读入数据

代码如下(示例):

  1. public static void main(String[] args) {
  2. try {
  3. // 配置MSAL客户端
  4. ConfidentialClientApplication application = ConfidentialClientApplication.builder(
  5. "client_Id",
  6. ClientCredentialFactory.createFromSecret("Secret"))
  7. .authority("authority").build();
  8. ClientCredentialParameters clientCredentialParam = ClientCredentialParameters
  9. .builder(Collections.singleton(msalProperties.getScope())).build();
  10. IAuthenticationResult authenticationResult = application.acquireToken(clientCredentialParam).join();
  11. Properties properties = new Properties();
  12. properties.setProperty("mail.store.protocol", "pop3s");
  13. // 创建邮件会话
  14. Session session = Session.getInstance(properties);
  15. // 连接到outlook.live.com邮箱
  16. Store store = session.getStore("pop3s");
  17. store.connect("outlook.office365.com", "邮箱", authenticationResult.accessToken());
  18. // 打开收件箱
  19. Folder folder = store.getFolder("INBOX");
  20. folder.open(Folder.READ_ONLY);
  21. // 只读取未读邮件
  22. FlagTerm flagTerm = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
  23. // 获取所有未读邮件
  24. Message[] messages = folder.search(flagTerm);
  25. System.out.println(messages);
  26. } catch (Exception e){
  27. e.printStackTrace();
  28. }
  29. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/650275
推荐阅读
相关标签
  

闽ICP备14008679号