如何在html邮件中区分"真实"邮件附件与pics?

Les*_*ess 6 .net c# pop3 openpop

我正在搞乱OpenPop,一个用C#编写的用于POP3邮件获取的库.它似乎工作正常,但我不明白如何在显式附加文件与邮件之间做出区分,以及像HTML内容邮件中的图片之类的东西.这个库将它们全部视为"附件".根据我的需要,我不会将HTML邮件中的图片视为附件.
来自图书馆文档:

MessagePart被认为是附件,如果
- 它不是保留文本而不是MultiPart消息或
- 它有一个Content-Disposition标题,表明它是一个附件

至少在理论上我应该做什么或搜索什么(因为我对邮件协议并不熟悉)?

Ton*_*ony 5

您可以检查电子邮件的正文中是否引用了图像文件。您将需要解析HTML,并在CSS选择器中查找诸如imgbackground-image属性的标签。如果邮件本身未使用该图像,则将其视为“正版”附件。


小智 5

我已经用这种方式完成了,而且似乎可行:

foreach (OpenPop.Mime.MessagePart fileItem in elencoAtt)
{
    System.Net.Mime.ContentDisposition cDisp = fileItem.ContentDisposition;

    //Check for the attachment...
    if (!cDisp.Inline)
    {
        // Attachment not in-line
    }
    else
    {
        // Attachment in-line
    }
}
Run Code Online (Sandbox Code Playgroud)