我正在使用IMAP的郵件客戶端上工作,我在尋找接收郵件附件的命令。IMAP附件檢索命令
9
A
回答
23
所有消息信息使用FETCH
command檢索。不過,您有兩種選擇如何使用它。
首先,你可以檢索整個電子郵件消息,一字不差。在這種情況下,您需要在您的客戶端中包含一個MIME解析器來計算消息的結構。 (每個平臺至少有一個或兩個流行的MIME解析器;因爲你沒有告訴我們你在編碼什麼,所以我不能爲你推薦一個。)一旦你從你的MIME解析器得到消息結構,需要一些客戶端邏輯來確定哪些部分是附件。這是值得看看RFC 2183讓你開始。一般而言,以「attachment
」開頭的Content-Disposition
部分將成爲附件,但所有郵件客戶端作者都需要經歷一段反覆試驗才能正確完成的過程。爲了下載整個電子郵件,你會發出命令IMAP
$ UID FETCH <uid> BODY.PEEK[]
其次,你可以有IMAP服務器通過發出FETCH BODYSTRUCTURE
解析報文結構爲你(注:無方括號)。你必須自己解析返回的BODYSTRUCTURE數據; IMAP RFC explains the format並給出了幾個例子。
# message, no attachments:
("TEXT" "PLAIN" ("CHARSET" "ISO-8859-1" "FORMAT" "flowed") NIL NIL "7BIT" 1469 50 NIL NIL NIL NIL)
# message, one attachment
(("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "QUOTED-PRINTABLE" 56 1 NIL NIL NIL NIL)("AUDIO" "X-WAV" ("NAME" "voicemail.wav") NIL NIL "BASE64" 152364 NIL ("attachment" ("FILENAME" "voicemail.wav")) NIL NIL) "MIXED" ("BOUNDARY" "----_=_NextPart_001_01C4ACB3.5AA7B8E2") NIL NIL NIL)
一旦你已經確定你是哪部分感興趣,你可以發出可顯示郵件正文中FETCH
。然後,您的客戶端可以列出消息附件(解析出BODY
響應),然後可以返回並返回FETCH
,如果用戶點擊它們。所以IMAP命令,你會發出將沿着線:
$ UID FETCH <uid> (BODY ENVELOPE) # get structure and header info
$ UID FETCH <uid> (BODY[1]) # retrieving displayable body
$ UID FETCH <uid> (BODY[2]) # retrieving attachment on demand
1
我相信你正在尋找的是IMAP v4 FETCH command。
0
你可以使用Context.IO的文件資源快速,輕鬆地獲取附件。
相關問題
- 1. 搜索和獲取IMAP命令
- 2. IMAP搜索命令的替代方案
- 3. 通過IMAP從電子郵件中檢索附件?
- 4. IMAP附件
- 5. 我正在使用Koolwired.Imap通過iMAP檢索附件。
- 6. IMAP UID FETCH BODY.PEEK []命令respose
- 7. IMAP命令與PHP VivOAuthIMAP
- 8. 從IMAP服務器檢索郵件?
- 9. IMAP - 通過Yahoo檢索郵件X-YMailISG
- 10. Gmail IMAP - 附件未出現
- 11. PHP imap下載附件
- 12. IMAP與python下載附件
- 13. 提取PHP IMAP附件
- 14. 如何檢索消息IMAP
- 15. 搜索帶有GMail附件的郵件IMAP
- 16. php imap檢查電子郵件是否有附件
- 17. IMAP:檢測郵件中附件的存在的最佳方法
- 18. Mailgun - Laravel檢索附件
- 19. 從RallyDev檢索附件
- 20. 使用Gmail搜索utf-8字符串X-GM-RAW IMAP命令
- 21. 帶有日期過濾器的IMAP搜索命令
- 22. C#Imap搜索命令,特殊字符如á,é
- 23. Imap搜索命令獲取最新消息?
- 24. MailKit/IMAP - IMAP服務器以'NO'響應回覆'EXAMINE'命令
- 25. IMAP命令使用Libcurl與C++和IMAP協議
- 26. 使用BODY部件獲取IMAP附件
- 27. imap:從附件解碼文件名
- 28. Imap php附件文件名編碼
- 29. IMAP在Heroku - 未知命令:AUTHENTICATE
- 30. IMAP登錄命令 - 無效字符?
確定,但事情是,我曾經什麼都電子郵件是我選擇畢竟郵件已經被下載,然後,這個郵件我想下載附件。現在一旦我的郵件被下載,然後我嘗試下載附件;它會說$ OK UID FETCH已完成,所以我能做些什麼? – 2011-01-20 10:11:32