簡體   English   中英

Python IMAP搜索部​​分主題

[英]Python IMAP search for partial subject

我正在嘗試獲取主題以“新訂單”開頭的所有電子郵件,但我似乎無法弄明白。 目前我可以搜索與這樣的設置完全匹配...

result, data = M.uid('search', None, '(HEADER Subject "Subject Here")')

但是,這不會檢索任何不完全匹配的消息。 我將如何進行部分匹配?

如果重要的話我正在和gmail的imap服務器交談。

謝謝

根據IMAP RFC SEARCH應該將其所有匹配作為子字符串匹配:

在所有使用字符串的搜索鍵中,如果字符串是字段的子字符串,則消息與鍵匹配。 匹配不區分大小寫。

因此,搜索

M.uid('search', None, 'HEADER Subject "New Order"')

應匹配主題中任何位置發生New Order所有消息。 如果不是,您應該通知Google他們的服務器沒有正確實施IMAP。 在此期間,您可以嘗試使用SUBJECT

M.uid('search', None, 'SUBJECT "New Order"')

此外,根據Google的IMAP擴展文檔,您可以使用X-GM-RAW密鑰和gmail搜索字符串,如

M.uid('search', None, r'X-GM-RAW "subject:\"New Order\""')

這對我有用:

mail.uid('search', None, r'(X-GM-RAW "subject:\"New Order\"")')

這對我有用:

result, data = m.search(None, 'X-GM-RAW', 'subject: New Order')

這對我有用:

M.uid('search',None, '(SUBJECT "New Order")')

搜索格式為(EmailAttribute "your searchstring")

希望對你有效。

暫無
暫無

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

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