-2
A
回答
5
我爲/ n軟件工作,我們在這裏遇到了您的問題。基於這個問題的標籤,它看起來像你可能正在使用我們的.NET版本和C#代碼,所以我將使用C#代碼作爲我的例子。
從Imaps組件檢索附件需要使用MessageParts屬性。此屬性包含下載的電子郵件中各個MIME部分的集合。通常,前兩部分將成爲電子郵件消息的HTML正文(如果適用)和電子郵件的純文本正文。任何附件都將在其餘的MIME部分中。您可以使用類似於下面的一些代碼,從選定的電子郵件檢索附件:
Imaps imap = new Imaps();
imap.OnSSLServerAuthentication += new Imaps.OnSSLServerAuthenticationHandler(delegate(object sender, ImapsSSLServerAuthenticationEventArgs e)
{
//Since this is a test, just accept any certificate presented.
e.Accept = true;
});
imap.MailServer = "your.mailserver.com";
imap.User = "user";
imap.Password = "password";
imap.Connect();
imap.Mailbox = "INBOX";
imap.SelectMailbox();
imap.MessageSet = "X"; //Replace "X" with the message number/id for which you wish to retrieve attachments.
imap.FetchMessageInfo();
for (int i = 0; i < imap.MessageParts.Count; i++)
{
if (imap.MessageParts[i].Filename != "")
{
//The MessagePart Filename is not an empty-string so this is an attachment
//Set LocalFile to the destination, in this case we are saving the attachment
//in the C:\Test folder with its original filename.
//Note: If LocalFile is set to an empty-string the attachment will be available
// through the MessageText property.
imap.LocalFile = "C:\\Test\\" + imap.MessageParts[i].Filename;
//Retrieve the actual attachment and save it to the location specified in LocalFile.
imap.FetchMessagePart(imap.MessageParts[i].Id);
}
}
imap.Disconnect();
注意,它也有可能是單獨的MIME部分將被base64編碼。如果您希望讓我們的組件自動解碼這些部分,那麼您需要將「AutoDecodeParts」屬性設置爲「true」。這應該在調用FetchMessageInfo方法之前完成。請參閱下面的示例:
imap.AutoDecodeParts = true;
imap.FetchMessageInfo();
電子郵件還可能包含嵌套的MIME結構。這是一個更復雜的情況,它需要遞歸方法來解構嵌套的MIME結構。我們的MIME組件(可在我們的IP * Works和IP * Works S/MIME產品中使用)對此非常有幫助。
如果您需要其他語言的示例,處理嵌套MIME結構的示例,或者如果您有任何其他問題,請隨時通過[email protected]與我們聯繫。
+0
非常感謝。我明白了。是的,它是C#。 – zirbel
相關問題
- 1. 如何通過uuid獲取文檔
- 2. Meteor.publish() - 如何通過自由文本獲取文檔
- 3. RethinkDB:通過鍵值對獲取文檔?
- 4. 通過mongoengine從文檔獲取字段
- 5. 通過其標題獲取Google文檔?
- 6. 通過C獲取iframe文檔對象#
- 7. 通過多個ID獲取文檔
- 8. 如何通過lucene中的文檔ID獲取文檔的存儲字段?
- 9. CouchDB Map函數 - 如何通過文檔ID獲取其他文檔的數據
- 10. couchdb如何通過地圖功能中的id獲取文檔
- 11. 文檔 - 如何通過名稱獲取標籤的值?
- 12. 如何通過窗口獲取文檔對象?
- 13. Umbraco 7 + Razor:如何通過ID獲取文檔/節點?
- 14. 如何通過mgo獲取未知的mongo文檔
- 15. 如何僅通過js獲取Google文檔的名稱?
- 16. umbraco - 如何通過文檔類型獲取所有節點
- 17. 如何通過搜索API獲取文檔的專用URL?
- 18. MongoDB,MongoEngine:如何通過其EmbeddedDocument獲取文檔?
- 19. 如何通過.net應用程序獲取文檔的Webtop Drl?
- 20. 如何通過casbah獲取文檔密鑰?
- 21. 如何在elasticsearch rails中通過ID獲取文檔
- 22. 如何通過Awesomium ExecuteJavascriptWithResult獲取html文檔元素的nodeName?
- 23. 如何獲取FastCGI文檔?
- 24. 如何獲取文檔行?
- 25. 如何獲取TREC文檔?
- 26. 如何通過JavaScript獲取文件名?
- 27. 如何通過GitHub API獲取文件
- 28. 如何通過Eclipse獲取類文件?
- 29. 使用HtmlAgilityPack通過XPath從html文檔中獲取文本
- 30. 在html文檔中通過xpath和javascript獲取TAG文本
你嘗試過什麼嗎? – wudzik
我嘗試了方法FetchMessages()和FetchInfo()。最後MessageContentEncoding屬性爲null。 – zirbel