问题描述
我收到的电子邮件还可以,除了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
为什么显示空白?
解决方法
并非所有消息都具有HTML和纯文本主体。实际上,某些消息可能没有。
不过,一般而言,大多数邮件中至少有其中一封。