Vb.net Mailkit POP3:获取不带标题的附件文本

Vb.net Mailkit POP3:获取不带标题的附件文本,vb.net,email-attachments,pop3,mailkit,mimekit,Vb.net,Email Attachments,Pop3,Mailkit,Mimekit,我下载带有CSV文件的POP3消息。 我需要在附件中获取纯文本,我这样做: For Each BP As MimeKit.MimeEntity In Msg.BodyParts 'Filtering: If Not BP.IsAttachment = True Then Continue For If Not BP.ContentDisposition.FileName.EndsWith(".csv") Then Continue For Console.WriteLi

我下载带有CSV文件的POP3消息。 我需要在附件中获取纯文本,我这样做:

For Each BP As MimeKit.MimeEntity In Msg.BodyParts
   'Filtering:
   If Not BP.IsAttachment = True Then Continue For
   If Not BP.ContentDisposition.FileName.EndsWith(".csv") Then Continue For

   Console.WriteLine((DirectCast(BP, MimeKit.TextPart).Text))
Next
这项工作如果

BP.ContentType.MediaType = "text"
BP.ContentType.MimeType = "csv"
但是,如果例如
MediaType=application
我无法将
BodyPart
强制转换为
TextPart
并访问
.Text
属性

我可以使用
BP.ToString
获取完整的附件文本,但它会返回所有内容,包括标题:

Content-Type: application/vnd.ms-excel;
name="MyFile.csv"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="MyFile.csv"

2018-03-10 10:12;0.797;m3/h;1.8;-0.3;1.8;m3;0.000;0.000;96;5346=0A=
2018-03-10 10:13;0.820;m3/h;1.8;-0.3;1.8;m3;0.000;0.000;96;5346=0A=
2018-03-10 10:14;0.868;m3/h;1.9;-0.3;1.9;m3;0.000;0.000;96;5346=0A=
2018-03-10 10:15;0.549;m3/h;1.9;-0.3;1.9;m3;0.000;0.000;96;5346=0A=
2018-03-10 10:16;0.281;m3/h;1.9;-0.3;1.9;m3;0.000;0.000;96;5346=0A=
1:无论
ContentType..


2:在进行筛选之前,我下载了整个邮件/附件。如何仅下载要在筛选中使用的附件标题?

获取MimePart内容的一般方法在c#中是这样的(抱歉,我不知道VB):


我也试过了,这仍然会给你一切,包括标题。必须有一个mime方法将附件部分划分为对象:标题和内容…但找不到它。
MimeKit.TextPart.Text
可以做到这一点,但只能处理一些邮件。准确地说,我尝试了
part.WriteTo(内存)
我假设它也能做到这一点。我没有
part.Content
请确保强制转换为MimePart,然后您将拥有一个Content属性。不,它与part.WriteTo()不一样。它工作得很好:-)我能读一下文档中可以转换为MimePart的地方吗?
using (var memory = new MemoryStream ()) {
    part.Content.DecodeTo (memory);

    var buffer = memory.ToArray ();
    var text = Encoding.UTF8.GetString (buffer);
}