簡體   English   中英

使用 Lambda 中的 imap_tools 在正文中按字符串從垃圾文件夾中獲取 email

[英]Fetch email from Junk folder by string in body using imap_tools in Lambda

使用 AWS Lambda 與 Python 腳本和 imap_tools 庫https://github.com/ikvk/imap_tools#search-criteria

我想在垃圾文件夾中搜索正文中包含特定字符串的電子郵件,然后將這些電子郵件移至收件箱。 我有以下代碼有效,除了它似乎從垃圾文件夾中移動隨機電子郵件,而不是在正文中包含字符串的那些。

有誰知道我做錯了什么? 我對 Python 有點陌生,所以也許我犯了一個菜鳥錯誤。

from imap_tools import MailBox, A, AND, OR, NOT

def lambda_handler(event, context):
    try:
        with MailBox('imap-mail.outlook.com').login('address@msn.com', 'PASSWORD') as mailbox:
            mailbox.folder.set('JUNK')
            mailbox.fetch(AND(body='TESTSTRING'))
            for msg in mailbox.fetch():
                mailbox.move(msg.uid, 'INBOX')
    except:
        print('No emails with tag!')
    finally:
        MailBox.logout
  • 閱讀有關工作獲取和移動方法的信息
  • 試着理解你為什么要調用 fetch 兩次
  • 循環后移動
  • 閱讀上下文管理器和 python
  • MailBox.logout 在做什么

暫無
暫無

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

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