美文网首页K-9 Mail
K-9 Mail 检查邮件正文是否包含内嵌资源

K-9 Mail 检查邮件正文是否包含内嵌资源

作者: nickieeee | 来源:发表于2020-02-09 00:02 被阅读0次

有时需要判断邮件里的附件是正文中插入的图片这种“附件”,还是被单独显示在附件区域的附件。附件区域一般需要过滤到inline类型的附件。

 public static boolean inlineAttachment(Part part) throws MessagingException {
        String contentDisposition = unfoldAndDecode(part.getDisposition());
        String disposition = part.getDisposition();
        if (disposition != null) {
            String dispositionType = MimeUtility.getHeaderParameter(disposition, null);
            if ("".equals(dispositionType)) {
                return true;
            }
        }


        if (contentDisposition != null && MimeUtility.getHeaderParameter(contentDisposition, null).matches("^(?i:inline)")) {
            return true;
        }

        if (contentDisposition!=null && !contentDisposition.contains("attachment")) {
            return true;
        }

        //如果存在内嵌资源,至少是related
        try {
            if (part instanceof LocalStore.LocalAttachmentBodyPart) {
                if (((LocalStore.LocalAttachmentBodyPart) part).getParent().getParent().isMimeType("multipart/related") && !part.isMimeType("multipart/alternative")) {
                    return true;
                }
            }
        } catch (Exception e){
            e.printStackTrace();
        }

        if (part.getHeader(MimeHeader.HEADER_CONTENT_ID) != null) {
            return true;
        }

        if (contentDisposition == null && (part.getHeader(MimeHeader.HEADER_CONTENT_ID) == null)) {
            return true;
        }

        return false;
    }

相关文章

  • K-9 Mail 检查邮件正文是否包含内嵌资源

    有时需要判断邮件里的附件是正文中插入的图片这种“附件”,还是被单独显示在附件区域的附件。附件区域一般需要过滤到in...

  • 解决“您在 /var/spool/mail/root 中有邮件”

    用 mail 命令可以查看你有多少邮件未读 删除邮件 方法一:禁止系统检查邮件 方法二:用logWatch转发邮件...

  • JavaMail使用163邮箱发送邮件先后返回错误码554 DT

    •554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃...

  • Java 收发邮件 (Jakarta Mail)

    Jakarta Mail API提供了一个独立于平台和协议的框架来构建邮件,完成邮件接收与发送功能。它也包含在Ja...

  • K-9 Mail队列任务

    概述 主要说明一下MessagingController类,基本实现了邮件客户端的所有业务逻辑,并提供了对底层实现...

  • 电子邮件

    电子邮件软件被称为MUA:Mail User Agent——邮件用户代理发到MTA:Mail Transfer A...

  • DAY5-Flask

    使用Flask-Mail提供电子邮件支持 Flask-Mail连接到简单邮件传输协议(SMTP)服务器,并把邮件交...

  • Linux安装Elasticsearch7

    1.检查是否已安装elasticsearch 2.检查是否安装jdk(安装教程自行百度),es7内嵌了jdk,如果...

  • 第六章--电子邮件

    一、使用Flask-Mail Flask-Mail连接到简单邮件传输协议(Simple Mail Transfer...

  • Python if 语句

    使用 and 检查多个条件 使用 or 检查多个条件 检查特定值是否包含在列表中 检查特定值是否不包含在列表中 确...

网友评论

    本文标题:K-9 Mail 检查邮件正文是否包含内嵌资源

    本文链接:https://www.haomeiwen.com/subject/jqowxhtx.html