我正在使用一个名为EAgetmail的库来检索指定电子邮件的正文,它运行良好,但我现在正在使用Mailkit.问题在于EAgetmail等同于message.body返回主体,因为用户在电子邮件客户端中看到它,但在mailkit中它返回了许多不同的数据.
这是相关代码:
using (var client = new ImapClient())
{
client.Connect(emailServer, 993, true);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate(username, password);
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadOnly);
SearchQuery query;
if (checkBox.IsChecked == false)
{
query = SearchQuery.DeliveredBefore((DateTime)dateEnd).And(
SearchQuery.DeliveredAfter((DateTime)dateStart)).And(
SearchQuery.SubjectContains("Subject to find"));
}
else
{
query = SearchQuery.SubjectContains("Subject to find");
}
foreach (var uid in inbox.Search(query))
{
var message = inbox.GetMessage(uid);
formEmails.Add(message.TextBody);
messageDate.Add(message.Date.LocalDateTime);
}
client.Disconnect(true);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试了message.Body.ToString()并在消息部分中搜索纯文本,但都没有工作.我的问题是如何使用Mailkit复制EAgetmail的.body属性的效果(以纯文本形式返回正文内容,如用户所见)?