我已經在C#上使用了sourceforge上名爲「Koolwired.Imap」的開源項目嘗試了這一點。C#上的IMAP - 下載郵件和附件
下載郵件時可以,但附件只列出附件的文件名。有沒有人試過這個?
如果不是有沒有其他更好的免費庫,可以做同樣的(我需要這樣的自由/開源的解決方案,因爲我這樣做對我的校園項目)
ImapConnect connection = new ImapConnect("imap.gmail.com", 993, true);
ImapCommand command = new ImapCommand(connection);
ImapAuthenticate auth = new ImapAuthenticate(connection, "<username>@gmail.com", "<password>");
connection.Open();
auth.Login();
string htmlbody = "";
ImapMailbox mailbox = command.Select("INBOX");
mailbox = command.Fetch(mailbox);
int mailCount = mailbox.Messages.Count;
for (int i = 0; i < mailCount ; i++)
{
ImapMailboxMessage msg = mailbox.Messages[mailCount - 1];
msg = command.FetchBodyStructure(msg);
msg.BodyParts[0].ContentEncoding = BodyPartEncoding.NONE;
msg = command.FetchBodyPart(msg, msg.HTML);
foreach (ImapMessageBodyPart a in msg.BodyParts)
{
if (a.Data != null)
{
string fileName = "";
if (a.Attachment) fileName = ParseFileName(a.Disposition);
string mimeType = a.ContentType.MediaType.ToLower();
a.ContentEncoding = BodyPartEncoding.UTF7;
htmlbody = a.Data;
}
}
}
auth.Logout();
connection.Close();
而且不會與人分享您的詳細日誌:) – 2010-07-01 12:20:15
它是一個測試帳戶..沒有問題..謝謝您提醒.. – 2011-03-31 08:41:28
我該如何運行此代碼?它只適用於從Gmail帳戶下載郵件嗎?下載後可以轉換下載的文件嗎? – Nicholas 2012-02-29 22:28:44