我成功创建了一个 Python + O365 应用程序,可以登录我的电子邮件并在控制台中打印电子邮件。这是代码:
import O365
from O365 import Connection, FileSystemTokenBackend
from O365.account import Account
tokenstorage = FileSystemTokenBackend(token_path='XXX', token_filename='XXX')
scopes_graph = ['User.Read', 'Mail.ReadWrite', 'Mail.Read', 'OFFLINE_ACCESS']
credentials = ('XXX', 'XXX')
account = Account(credentials, tenant_id='XXX', scopes=scopes_graph, token_backend=tokenstorage)
if not account.is_authenticated:
account.authenticate()
mailbox = account.mailbox()
inbox = mailbox.inbox_folder()
query = mailbox.new_query()
query = query.on_attribute('Subject').contains('Test')
for message in inbox.get_messages(limit=10, query=query):
print(message._Message__created, message.sender, message)
问题是,我希望程序能够连续运行——也许通过某种无限循环。如果它能够“等待并监听”电子邮件,那就最好了,这样每当我收到新电子邮件时,它就会在控制台中 24/7 打印新行。大家觉得这可行吗?怎么办?
每当我收到新电子邮件时,它都会在控制台 24/7 中打印新行。
您可以订阅通知,请参阅 Microsoft Graph API 更改通知了解更多信息。