gpt4 book ai didi

python - 使用 python api O365 接收电子邮件

转载 作者:行者123 更新时间:2023-12-05 02:13:09 25 4
gpt4 key购买 nike

我刚开始使用 Python,我正在尝试完成一项我听说使用 Python 完成的手动任务更简单。我的公司使用 Office 365 处理电子邮件,我想检索电子邮件附件并将其存储在本地,以便节省时间。到目前为止,已经确定了如何发送简单的电子邮件,调用我帐户中文件夹的名称,但我无法弄清楚如何阅读任何特定的电子邮件。

我的想法有点像这样,

from O365 import Account, message,mailbox

credentials = ('username', 'given password')

account = Account(credentials)
mailbox = account.mailbox()
mail_folder = mailbox.inbox_folder()
mail_folder = mailbox.get_folder(folder_name='Inbox')
print(mail_folder)
#_init__(*,parent= Inbox, con=None,**kwargs)
Message_body = message.body()
message.get_subject('email subject here!')
print(Message.body)

现在我迷路了,正在尝试 O365 文档页面中的任何内容,但根据我的使用方式,消息模块没有主题属性。任何指导将不胜感激

最佳答案

从你的例子来看——不清楚你是否通过了身份验证......

如果是,那么您将能够列出邮箱文件夹。在以下情况下 - 您可以访问收件箱,然后列出子文件夹:

from O365 import Account, Connection,  MSGraphProtocol, Message, MailBox, oauth_authentication_flow

scopes=['basic', 'message_all']
credentials=(<secret>, <another secret>)
account = Account(credentials = credentials)

if not account.is_authenticated: # will check if there is a token and has not expired
account.authenticate(scopes=scopes)

account.connection.refresh_token()mailbox = account.mailbox()
inbox = mailbox.get_folder(folder_name='Inbox')
child_folders = inbox.get_folders(25)
for folder in child_folders:
print(folder.name, folder.parent_id)

这部分将允许您列出文件夹(以及消息)。

如果我查看您的代码 - 看起来您正在尝试同时执行这两项操作?

尝试执行以下类似操作来掌握通过收件箱进行分页的窍门:

for message in inbox.get_messages(5):
if message.subject == 'test':
print(message.body)

请注意,我正在循环查看收件箱中的前 5 封邮件,以查找主题为“test”的邮件。如果找到消息 - 然后打印正文。

希望这会有所启发。

关于python - 使用 python api O365 接收电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55114309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com