实现在自己的系统中同步查看各大平台的邮箱系统内容

本文介绍使用Java mail工具获取各大平台邮箱系统的收件箱和发件箱。配置邮箱授权码时遇到同步获取邮件耗时久的问题,采用将邮件存数据库并结合spring定时任务解决。还给出解决方案,包括获取邮件信息、对比uid、异步获取保存数据等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Java mail 工具实现

获取各大平台邮箱系统中的收件箱发件箱

获取各大平台邮箱系统收发信箱

~
~

配置邮箱授权码

配置邮箱授权码
~
~

走过的坎

1.刚开始的时候每次进行同步获取的时候都会获取到所有的邮件,需要等待的时长特别的长,每次都需要好几分钟,后面想到一个方案就是把获取到的邮件保存到数据库中,每次获取的时候都从数据库中获取邮件信息,这样会特别的迅速,但这样也会引发不能实时获取到信息,最后使用了spring定时任务来每隔一段时间就去同步一次邮箱数据,至此解决。

解决方案

1.获取到当前邮箱号所有的邮件信息
获取到当前邮箱号所有的邮件信息
2.配置ReciveMail邮件对象
在这里插入图片描述

3.获取到当前邮箱在平台系统中的最新所有邮箱的uid,然后对比从数据库中获取到得uid进行比对,筛选出数据库中不存在得uid(uid是每个邮箱中每封邮件得唯一标识),java mail获取所有uid不需要获取其他得邮件信息,获取得数据非常快,然后通过筛选出得uid获取对应得邮件信息,后保存到数据库中。

4.筛选获取所有数据库中不存在得uid
在这里插入图片描述
5.根据uid获取对应得邮箱信息

在这里插入图片描述

6.把集合转化为一个线程安全得集合,在使用并行流来进行一个异步得获取保存数据,
在通过阻塞队列来保证所有得数据都获取完毕后,才能进行下一步得操作,进行返回
在这里插入图片描述
在这里插入图片描述
7.获取到所有数据后在保存到数据库中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值