在没有 content-disposition 的情况下识别 MimeKit 中的邮件附件时出现问题
Problems identifying mail attachments in MimeKit with no content-disposition
我一直在尝试找到一封没有 content-disposition 内联附件的电子邮件中的所有附件。
这是电子邮件的片段
----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
已尝试附件 collection,但显然不在其中。
还尝试了一种方法,其中 "body" 被识别,然后其他所有内容都被视为附件。然而,这也将 html body 作为附件,因为 headers 也值得怀疑。
感谢任何帮助,或者如果您需要更多信息,请告诉我。谢谢
您在问题中粘贴原始来源的 MIME 部分将位于 MimeMessage.BodyParts
,因为它未通过 Content-Disposition
header 标记为附件,如您所见。
每个电子邮件客户端对什么构成附件都有自己的想法,因此由您决定如何确定某个内容是否为附件,MimeKit 无法为您确定。
您是否查看了 FAQ 中的 HtmlPreviewVisitor
示例代码?
该示例代码片段向您展示了如何将电子邮件呈现为 HTML 并收集所有引用的图像附件等,并将所有其他 non-referenced 附件收集到一个附件列表。
我一直在尝试找到一封没有 content-disposition 内联附件的电子邮件中的所有附件。
这是电子邮件的片段
----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
已尝试附件 collection,但显然不在其中。 还尝试了一种方法,其中 "body" 被识别,然后其他所有内容都被视为附件。然而,这也将 html body 作为附件,因为 headers 也值得怀疑。
感谢任何帮助,或者如果您需要更多信息,请告诉我。谢谢
您在问题中粘贴原始来源的 MIME 部分将位于 MimeMessage.BodyParts
,因为它未通过 Content-Disposition
header 标记为附件,如您所见。
每个电子邮件客户端对什么构成附件都有自己的想法,因此由您决定如何确定某个内容是否为附件,MimeKit 无法为您确定。
您是否查看了 FAQ 中的 HtmlPreviewVisitor
示例代码?
该示例代码片段向您展示了如何将电子邮件呈现为 HTML 并收集所有引用的图像附件等,并将所有其他 non-referenced 附件收集到一个附件列表。