Я загружаю сообщения POP3 с прикрепленным файлом CSV. Мне нужно получить простой текст во вложении, и я делаю это так:
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: Я загружаю всю почту / вложение, прежде чем выполнять фильтрацию. Как я могу загрузить только заголовки вложений, которые будут использоваться при фильтрации?