我刚开始使用名为IMAPX的开源库与我的IMAP邮箱进行交互。我关注this article on CodeProject。我可以正确登录并检索电子邮件文件夹。但问题是,这篇文章似乎不完整,这让我处于中间道路。首先,Retrieving Email Folder
的部分不起作用。我不得不做一个解决方法。现在,我正在尝试下载文件夹的电子邮件。关于这个问题的文章只有几行代码:
private void foldersList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var item = foldersList.SelectedItem as EmailFolder;
if(item != null)
{
// Load the folder for its messages.
loadFolder(item.Title);
}
}
private void loadFolder(string name)
{
ContentFrame.Content = new FolderMessagesPage(name);
}
本文未解释有关FolderMessagesPage
的任何内容。所以,我制作了一个名为FolderMessagesPage
的测试页面。我完全不知道在该页面放什么。有人可以指导我吗?
答案 0 :(得分:0)
不幸的是,现在我在访问Code Project上的文章时遇到了一些问题,但如果您需要检索电子邮件,则可以从以下示例代码开始,该代码从Inbox文件夹中检索电子邮件。我认为这对你也有用。
private static readonly ImapClient _client = new ImapX.ImapClient(ServerImapName, ImapPort, ImapProtocol, false);
if (!_client.Connect())
{
throw new Exception("Error on conncting to the Email server.");
}
if (!_client.Login(User, Password))
{
throw new Exception("Impossible to login to the Email server.");
}
public static List<string> GetInboxEmails()
{
var lstInEmails = new List<string>();
// select the inbox folder
Folder inbox = _client.Folders.Inbox;
if (inbox.Exists > 0)
{
var arrMsg = inbox.Search("ALL", ImapX.Enums.MessageFetchMode.Full);
foreach (var msg in arrMsg)
{
var subject = msg.Subject;
var mailBody = msg.Body.HasHtml ? msg.Body.Html : msg.Body.Text;
lstInEmails.Add(string.Concat(subject, " - ", mailBody );
}
}
return lstInEmails;
}
希望它有所帮助。 好字节。