Mailkit TextPart IsHtml 内容类型检查不起作用
Mailkit TextPart IsHtml Content type check does not work
亲爱的朋友们,
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.ContentTyp
e 是否匹配 text/html
.当您使用默认构造函数创建 TextPart
时,它会创建 text/plain
,而不是 text/html
.
您需要使用:
TextPart textPart = new TextPart ("html");
您的以下代码:
var bodyii = textPart.Text.FirstOrDefault(x => x.ContentType.IsMimeType("text", "html"));
出现错误,因为 textPart.Text
是 string
,这意味着您的 LINQ 表达式对 char
元素进行操作,而 char
没有 ContentType
] 属性.
换句话说,如果你这样做:
textPart.Text = "This is some text.";
然后你的 LINQ 表达式,使用 foreach 循环转换为更简单的 C# 代码,将如下所示:
char bodyii = 0;
foreach (char x in textPart.Text)
{
if (x.ContentType.IsMimeType("text", "html"))
{
bodyii = x;
break;
}
}
你觉得这段代码有意义吗?它不应该,这就是编译器给您错误的原因。
亲爱的朋友们,
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.ContentTyp
e 是否匹配 text/html
.当您使用默认构造函数创建 TextPart
时,它会创建 text/plain
,而不是 text/html
.
您需要使用:
TextPart textPart = new TextPart ("html");
您的以下代码:
var bodyii = textPart.Text.FirstOrDefault(x => x.ContentType.IsMimeType("text", "html"));
出现错误,因为 textPart.Text
是 string
,这意味着您的 LINQ 表达式对 char
元素进行操作,而 char
没有 ContentType
] 属性.
换句话说,如果你这样做:
textPart.Text = "This is some text.";
然后你的 LINQ 表达式,使用 foreach 循环转换为更简单的 C# 代码,将如下所示:
char bodyii = 0;
foreach (char x in textPart.Text)
{
if (x.ContentType.IsMimeType("text", "html"))
{
bodyii = x;
break;
}
}
你觉得这段代码有意义吗?它不应该,这就是编译器给您错误的原因。