(使用IMAP命令,不與任何其他郵件包的援助)IMAP:如何從一個文件夾移動郵件到另一個
13
A
回答
15
我不確定您是否熟悉imap-speak,但基本上在登錄後,「選擇」源郵箱,「複製」郵件和「探測」郵件(或「刪除」舊郵箱如果它現在是空的:-)。
a login a s
b select source
c copy 1 othermbox
d store 1 +flags (\Deleted)
e expunge
將是發送消息的示例。 (注意:imap消息在每個命令之前需要uniqe前綴,因此前面的「a b c」)
有關詳細信息,請參閱RFC 2060。
3
我猜你將郵件複製到新文件夾,然後刪除(EXPUNGE )它在舊的。
提示有沒有DELETE命令,做你的意思,你必須標記爲刪除,然後EXPUNGE郵箱中的郵件。看看RFC。請小心使用DELETE,因爲它會刪除整個郵箱,而不是單個郵件。
8
如果你有要移動的電子郵件的uid。
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)
obj.login('username', 'password')
obj.select(src_folder_name)
apply_lbl_msg = obj.uid('COPY', msg_uid, desti_folder_name)
if apply_lbl_msg[0] == 'OK':
mov, data = obj.uid('STORE', msg_uid , '+FLAGS', '(\Deleted)')
obj.expunge()
凡msg_uid是郵件的UID。
20
有多種方法可以做到這一點。最好一個是從2013年初在RFC 6851定義的UID MOVE
命令:
C: a UID MOVE 42:69 foo
S: * OK [COPYUID 432432 42:69 1202:1229]
S: * 22 EXPUNGE
S: (more expunges)
S: a OK Done
此擴展的存在由MOVE
能力指示。
如果不可用,但UIDPLUS
(RFC 4315),第二最佳選擇是使用的UID STORE
,UID COPY
和UID EXPUNGE
組合:
C: a01 UID COPY 42:69 foo
S: a01 OK [COPYUID 432432 42:69 1202:1229] Copied
C: a02 UID STORE 42:69 +FLAGS.SILENT (\Deleted)
S: a02 OK Stored
C: a03 UID EXPUNGE 42:69
S: * 10 EXPUNGE
S: * 10 EXPUNGE
S: * 10 EXPUNGE
S: a03 Expunged
如果UIDPLUS
丟失,沒有什麼您可以做的合理 - EXPUNGE
命令將永久刪除所有標記爲刪除的郵件,包括您未觸及的郵件。最好的辦法是在這種情況下只使用UID COPY
和UID STORE
。
相關問題
- 1. 郵寄IMAP:如何檢測郵件已從一個文件夾移動到另一個文件夾?
- 2. 將郵件項目從一個文件夾移動到另一個文件夾
- 3. 如何將文件從一個文件夾移動到另一個文件夾?
- 4. 如何將文件從一個文件夾移動到另一個文件夾?
- 5. 從一個文件夾移動到另一個文件
- 6. 將文件從一個文件夾移動到另一個C#
- 7. 將一個文件夾移動到另一個文件夾 - applescript
- 8. 如何從文件夾中移動郵件/郵件Java IMAP Client
- 9. UNIX shell將文件從一個文件夾移動到另一個文件夾
- 10. 需要將文件從一個文件夾移動到另一個文件夾
- 11. 將文件從一個文件夾移動到另一個文件夾
- 12. 隨機將文件從一個文件夾移動到另一個文件夾?
- 13. VSS:將文件從一個文件夾移動到另一個文件夾?
- 14. 使用python將shapefile從一個文件夾移動到另一個文件夾
- 15. 從一個SVN文件夾結構移動到另一個
- 16. 移動從一個文件夾的網站到另一個xcart
- 17. 如何將文件移動到另一個文件夾?
- 18. 如何在php中移動文件到另一個文件夾
- 19. 從一個子文件夾移動特定的電子郵件到另一個子文件夾
- 20. 如何將一個zip文件移動到一個文件夾
- 21. 嘗試將子文件夾中的文件從一個文件夾移動到另一個文件夾C#
- 22. Ruby on Rails:如何將所有文件從一個文件夾移動到另一個文件夾?
- 23. 如何使用命令行將所有文件從一個文件夾移動到另一個文件夾?
- 24. 如何將文件whoose名稱由用戶從一個文件夾移動到另一個文件夾中C++
- 25. 如何使用java將特定文件從一個文件夾移動到另一個文件夾
- 26. 將Outlook.MAPI文件夾移動到另一個文件夾
- 27. 將文件從子文件夾移動到一個文件夾
- 28. 如何將文件從一個文件夾複製到另一個文件夾
- 29. UNIX:將文件從子文件夾移動到另一個文件夾
- 30. javascript或jquery將pdf文件從一個文件夾移動到另一個
儘管當前規範中沒有IMAP「移動」命令,但有一個擴展方案:http://tools.ietf.org/html/draft-gulbrandsen-imap-move-01(Arnt Gulbrandsen, 2012年3月)。可悲的是,由於IETF的草案到期政策頗爲積極,該鏈接可能會在您點擊該鏈接時死掉。 – tripleee 2013-03-25 09:03:49
RFC6851 MOVE Extension:http://tools.ietf.org/html/rfc6851。當然,如果你的服務器不支持它,COPY,'STORE \ DELETED flag'和EXPUNGE是唯一的選擇(如下面的答案) – 2013-03-28 15:36:14
@triplee:tools.ietf.org鏈接不會過期。草稿到期,但tools.ietf.org繼續給出合理的答案。 – arnt 2014-02-12 14:59:12