ImapX不给我电子邮件主题/消息信息:
问题描述:
listBox1.Items.Add的行(从+“:”+ x.Subject);是什么,是不是返回所需的结果,它增加了“:”而不是“名姓:主题标题”ImapX不给我电子邮件主题/消息信息:
https://imapx.codeplex.com/wikipage?title=Sample%20code%20for%20get%20messages%20from%20your%20inbox
List<Task> m = new List<Task>();
private async void cmdLogin_Click(object sender, EventArgs e)
{
bool result = imapMail.Connection();
if (result)
{
result = imapMail.LogIn(email, password);
if (result)
{
var messes = imapMail.Folders[inbox].Messages;
foreach (var x in messes)
{
string from = "";
foreach (var addresses in x.From)
{
from = addresses.DisplayName;
}
listBox1.Items.Add(from + ": " + x.Subject);
}
foreach (ImapX.Message msgs in imapMail.Folders[inbox].Messages)
{
m.Add(new Task(new Action(() => msgs.Process())));
}
await Task.WhenAll(m);
}
else { this.Text = "failed login"; }
}
else { this.Text = "Failed connection"; }
}
}
这不是除了冒号返回任何东西,它应该返回一个显示名称:消息主题
答
”]
在您可以检索消息详细信息(如“from”,“subject”等)之前,首先需要调用消息的Process()。如果您查看source code for ImapX,您会看到Process()涉及对IMAP服务器的服务器调用,以下载消息数据。
它看起来像你正在尝试检索发件人地址之前,你正在调用Process(),并将返回一个空字符串。您需要更改订单 - 先调用Process(),然后才能检查消息详细信息。
请参阅下面的代码。我还没有测试过。
List<Task> m = new List<Task>();
private async void cmdLogin_Click(object sender, EventArgs e)
{
bool result = imapMail.Connection();
if (result)
{
result = imapMail.LogIn(email, password);
if (result)
{
foreach (ImapX.Message msgs in imapMail.Folders[inbox].Messages)
{
m.Add(new Task(new Action(() => msgs.Process())));
}
await Task.WhenAll(m);
var messes = imapMail.Folders[inbox].Messages;
foreach (var x in messes)
{
string from = "";
foreach (var addresses in x.From)
{
from = addresses.DisplayName;
}
listBox1.Items.Add(from + ": " + x.Subject);
}
}
else { this.Text = "failed login"; }
}
else { this.Text = "Failed connection"; }
}
的[无法隐式转换类型“诠释”到“......任务
+0
'Process()'现在已被弃用 - 所以我认为它现在会自动为你执行 – 2014-01-02 01:20:56
可能重复(http://stackoverflow.com/questions/15462004/cannot-implicitly-convert-type-int-to -tasksint) – 2013-03-18 18:33:56
请不要发布相同的问题,因为你没有得到回应。答复将以重复方式结束。 – 2013-03-18 18:34:19
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。另外,与论坛网站不同,我们不使用“谢谢”或“任何帮助表示赞赏”,或者在[so]上签名。请参阅“[应该'嗨','谢谢',标语和致敬从帖子中删除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be ()从目录中删除) – 2013-03-18 18:39:42