首页 > 解决方案 > MailKit 接收电子邮件不显示 message.Body

问题描述

我可以正常接收电子邮件,但message.TextBody有消息时显示为空白。
message.HtmlBody显然,在大量 html 内容中显示正文,但我正在寻找message.TextBody.

message.TextBody.ToString()显示错误

你调用的对象是空的

我正在使用以下代码:

client.ServerCertificateValidationCallback = (s, c, h, e) => true;
client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
client.Connect("pop.gmail.com", 995, true);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate("aaaa@gmail.com", "ssss");

gstrEmailMessages = gstrEmailMessages + client.Count + "\n";

//Fetch emails:
for (int i = 0; i < client.Count; i++)
{
    var message = client.GetMessage(i);
    gstrEmailMessages = gstrEmailMessages + "Subject: " + message.Subject + "\n";
    gstrEmailMessages = gstrEmailMessages + "TextBody: " + message.TextBody + "\n";
    gstrEmailMessages = gstrEmailMessages + "HtmlBody: " + message.HtmlBody + "\n";
}

//Disconnect connection:
client.Disconnect(true);

为什么message.TextBody显示空白?

标签: c#androidxamarinmailkit

解决方案


并非所有消息都具有 HTML 和纯文本正文。事实上,有些消息可能两者都没有。

不过,一般来说,大多数消息至少包含其中的 1 个。


推荐阅读