簡體   English   中英

Exchangelib - 如何保存特定主題行中的最新附件

[英]Exchangelib - How to save the most recent attachment from a specific subject line

我正在嘗試閱讀並保存帶有特定電子郵件主題的最新電子郵件附件。 我知道如何按主題行接收時間過濾電子郵件。 但我不知道如何將這兩個請求結合起來。 如果您有更好的主意來解決這個問題,請告訴我嗎?

我只知道如何使用這個閱讀最近的電子郵件

for item in a.inbox.children:
    for e in item.all().order_by('-datetime_received')[:1]:
        for attachment in e.attachments:
             ...

我知道如何獲取特定主題的電子郵件:

for item in a.inbox.children.filter(subject = 'this is my subject line'):
    for attachment in item.attachments:
          ....

如何從特定主題行獲取最新的電子郵件附件?

非常感謝!

我不確定“最近的附件”是什么意思,但附件確實有一個last_modified_time字段: https : //github.com/ecederstrand/exchangelib/blob/a695bda1edd9a574532bd099fe0c19968a5c5be4/exchangelib/attachments.py#L42

因此,您可以執行以下操作:

last_modified_attachment = sorted(
    item.attachments, 
    key=lambda i: i.last_modified_time
)[-1]

對於搜索中的每個項目,這將選擇上次修改的附件。 但是你可能會發現它們幾乎都是同時被修改的,如果last_modified_time是指在 EWS 中創建附件的時間。

對於項目附件( ItemAttachment類型的ItemAttachment ),您還可以深入到attachment.item中的日期時間字段之一並按其中之一排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM