AI智能
改变未来

O365-Mail-Manager


前言

我在上一篇博客里面讲说要继续维护O365-Mail-Manager这个项目的,现在可能不能兑现了。

原因

  1. 学业繁重。
  2. 有问题始终无法解决
  3. 这仅仅是一个练手的项目,我在描述中也写了这只是个代码示例。

具体的问题

  1. 无法使用公共客户端流,所以无法隐藏应用机密,这样不安全。
  2. 要加载邮件的全文,需要获取它的ID,而我好像没有找到相应的方法。
  3. 本人是一个新手,很多语法还不会,继续写下去的话,会使代码更加冗乱,便失去了参考意义了。
  4. 我写代码用的电脑经常崩溃。现在有点不敢用它了。

后续步骤

  • 我已在Github上面公布了我的源码,链接在上一篇博客里,欢迎大家接管这个项目,我仍会不定时的去查看大家的建议,或者是拉取请求,我永远对拉取请求开放。
  • 大家也可以看一看我的项目所依赖的一个项目 O365 也在Github 上面,链接在上一篇文章里面有,但是由于我手机贴链接不方便,所以就只能麻烦大家自己去看了。

最后向大家道个歉,由于以上原因,这个项目可能在很长时间内都不会再更新了。但如果以后有机会还会再做的,主要还看大家想不想要?

7.23 10:24

我觉得绝这样把项目扔下来不好,于是在这里贴出源码,Github链接也放出来。

from O365 import Accountclass mailbox_actions:\"\"\"用来对邮箱进行操作\"\"\"def __init__(self, choice=None):self.credentials = (\'74424fcf-55d7-4e15-99d7-1663c0ba2e94\', \'UCDadI4_uwyc.~GYfyG_Ni4pMOT54e.an8\')# 这是我的应用ID和机密,但是公共客户端流还是没有实现,文档里说下面改为# self.account = Account(self.credentials, auth_flow_type=‘pubic\')# (上面是我的理解)就行了但他报错self.account = Account(self.credentials)self.choice = choiceself.scopes = [\'basic\', \'message_all\']  # 请求权限def check_if_authenticated(self):\"\"\"检查是否有用户登录,若无,则请求登录\"\"\"if not self.account.is_authenticated:  # 检查是否登录# 请求登录self.account.authenticate(scopes=self.scopes)def Read_email(self):\"\"\"遍历邮件limit 表示加载多少个,微软官方一次API调用只返回999个,而O365模块默认25个,只有limit>25时utils分页功能才生效batch批处理表示加载多少次,就是往后加载limit=2000, batch=10 = limit=2000但是分为10次加载。\"\"\"mailbox = self.account.mailbox()inbox = mailbox.inbox_folder()for messages in inbox.get_messages(limit=200, batch=100):  # 下面的都是utils分页的print(messages)for messages in mailbox.junk_folder().get_messages(limit=200, batch=100):print(messages)for messages in mailbox.deleted_folder().get_messages(limit=200, batch=100):print(messages)for messages in mailbox.drafts_folder().get_messages(limit=2000):print(messages)for messages in mailbox.sent_folder().get_messages(limit=2000, batch=10):print(messages)# 准备加入选择进入哪个文件夹def start(self):\"\"\"应用入口\"\"\"self.choice = input(\'进入邮箱还是日历?(E/C)\')if self.choice == \'E\':self.choice = input(\'看邮件还是写邮件?(R/W)\')if self.choice == \'R\':mailbox_actions().Read_email()elif self.choice == \'W\':print(\'开发中,请稍后\')else:mailbox_actions().start()elif self.choice == \'C\':print(\'开发中,敬请期待\')else:mailbox_actions().start()mailbox_actions().check_if_authenticated()mailbox_actions().start()

Github项目链接:
O365-Mail-Manager
python-o365感谢此项目!没有它,我的项目也无法实施!

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » O365-Mail-Manager