Mailkit TextPart IsHtml内容类型检查不起作用



亲爱的朋友们,

TextPart textPart = new TextPart();
textPart.Text = body; // body contains the html text.
if(textPart.IsHtml)
{
}else { }

文本部分IsHtml没有给我正确的结果。我知道我的正文包含HTML,但它仍然处于其他状态。

然后我查看了这个对话,但当我写的时候。它在ContentType上出现了错误。char不包含contentType的信息。

var bodyii = textPart.Text.FirstOrDefault(x => x.ContentType.IsMimeType("text", "html"));

有人能指出我做错了什么吗?

textPart.IsHtml不检查textPart.Text是否包含html标记,而是检查textPart.ContentType是否与text/html匹配。使用默认构造函数创建TextPart时,它将创建text/plain,而不是text/html

您需要使用:

TextPart textPart = new TextPart ("html");

您的以下代码:

var bodyii = textPart.Text.FirstOrDefault(x => x.ContentType.IsMimeType("text", "html"));

得到一个错误,因为textPart.Textstring,这意味着您的LINQ表达式对char元素进行操作,而char没有ContentType属性。

换句话说,如果你这样做:

textPart.Text = "This is some text.";

然后,您的LINQ表达式,使用forewach循环转换为更简单的C#代码,将如下所示:

char bodyii = 0;
foreach (char x in textPart.Text)
{
if (x.ContentType.IsMimeType("text", "html"))
{
bodyii = x;
break;
}
}

这个代码对你有意义吗?不应该这样,这就是编译器给你一个错误的原因。

相关内容

  • 没有找到相关文章

最新更新