在MimeKit中识别没有内容处置的邮件附件时出现问题

时间:2019-07-23 13:30:40

标签: email mimekit

我一直试图在具有内联附件但没有内容处置的电子邮件中查找所有附件。

这是电子邮件的摘录

----boundary_4451_1ea18041-d01e-46e2-8f88-32770bfba1b7
Content-Type: application/octet-stream; name=img0.png
Content-Transfer-Encoding: base64
Content-ID: <image1>

..image base64 here..
----boundary_4451_1ea18041-d01e-46e2-8f88-32770bfba1b7

已经尝试了Attachments集合,但是显然不在其中。 还尝试了一种识别“身体”然后将其他所有内容视为附件的方法。但是,这也将html正文作为附件,因为该标题也值得怀疑。

任何帮助表示赞赏,如果您需要更多信息,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:0)

您在问题中粘贴了原始源的MIME部分将位于MimeMessage.BodyParts中,因为您注意到,它没有通过Content-Disposition标头标记为附件。

每个电子邮件客户端对附件的构成都有自己的看法,因此,由您决定如何确定附件是否是附件,这不是MimeKit可以为您确定的。

您是否签出了FAQ中的HtmlPreviewVisitor示例代码?

该示例代码段向您展示了如何将电子邮件呈现为HTML格式并收集所有引用的图像附件等,并将所有其他未引用的附件收集到附件列表中。