使用 python O365 库使用两个日期过滤邮件收件箱
Filtering mail inbox using two dates using python O365 library
您好,我正在尝试创建一个查询,以使用 Python 中的 O365 API 过滤来自特定帐户的收件箱邮件。我只设法使用查询助手使用 on received 属性过滤收件箱,如下所示:
credentials=('id', 'pass')
account = Account(credentials, auth_flow_type='credentials', tenant_id='tenantid')
if account.authenticate():
print('Authenticated!')
account.connection.refresh_token()
if('QP_FV_Mail' in diccionario['cadenaMail']):
mailbox = account.mailbox(resource='usr1@domain.com')
elif('ET_FV_Mail' in diccionario['cadenaMail']):
mailbox = account.mailbox(resource='usr2@domain.com')
query = mailbox.new_query()
inbox=mailbox.inbox_folder()
today = date.today()
received_dt = today - timedelta(days=today.weekday())
query = query.on_attribute('received_date_time').greater(received_dt)
inbox=mailbox.inbox_folder()
try:
#for message in list(messages):
for message in inbox.get_messages(limit=100,query=query):
#do stuff
但是我想将查询过滤器调整为介于 2 个日期之间。这可以做到吗?我在哪里可以找到文档?官方文档只有一页只有一个例子
您可以链接查询,这实际上添加了另一个约束(可以是按位的)例如
query.chain('and').on_attribute('received_date_time').less_equal(end_dt)
您好,我正在尝试创建一个查询,以使用 Python 中的 O365 API 过滤来自特定帐户的收件箱邮件。我只设法使用查询助手使用 on received 属性过滤收件箱,如下所示:
credentials=('id', 'pass')
account = Account(credentials, auth_flow_type='credentials', tenant_id='tenantid')
if account.authenticate():
print('Authenticated!')
account.connection.refresh_token()
if('QP_FV_Mail' in diccionario['cadenaMail']):
mailbox = account.mailbox(resource='usr1@domain.com')
elif('ET_FV_Mail' in diccionario['cadenaMail']):
mailbox = account.mailbox(resource='usr2@domain.com')
query = mailbox.new_query()
inbox=mailbox.inbox_folder()
today = date.today()
received_dt = today - timedelta(days=today.weekday())
query = query.on_attribute('received_date_time').greater(received_dt)
inbox=mailbox.inbox_folder()
try:
#for message in list(messages):
for message in inbox.get_messages(limit=100,query=query):
#do stuff
但是我想将查询过滤器调整为介于 2 个日期之间。这可以做到吗?我在哪里可以找到文档?官方文档只有一页只有一个例子
您可以链接查询,这实际上添加了另一个约束(可以是按位的)例如
query.chain('and').on_attribute('received_date_time').less_equal(end_dt)