private static function isAttachment(\stdClass $part): bool
    {
        if (isset(self::$typesMap[$part->type]) && self::TYPE_MULTIPART === self::$typesMap[$part->type]) {
            return false;
        }

        // Attachment with correct Content-Disposition header
        if ($part->ifdisposition) {
            if ('attachment' === \strtolower($part->disposition)) {
                return true;
            }

            if (
                    'inline' === \strtolower($part->disposition)
                && self::SUBTYPE_PLAIN !== \strtoupper($part->subtype)
                && self::SUBTYPE_HTML !== \strtoupper($part->subtype)
            ) {
                return true;
            }
        }

        // Attachment without Content-Disposition header
        if ($part->ifparameters) {
            foreach ($part->parameters as $parameter) {
                if (isset(self::$attachmentKeys[\strtolower($parameter->attribute)])) {
                    return true;
                }
            }
        }

        /*
        if ($part->ifdparameters) {
            foreach ($part->dparameters as $parameter) {
                if (isset(self::$attachmentKeys[\strtolower($parameter->attribute)])) {
                    return true;
                }
            }
        }
         */

        if (self::SUBTYPE_RFC822 === \strtoupper($part->subtype)) {
            return true;
        }

        return false;
    }
private static function isAttachment(\stdClass $part): bool
    {
        if (isset(self::$typesMap[$part->type]) && self::TYPE_MULTIPART === self::$typesMap[$part->type]) {
            return false;
        }

        // Attachment with correct Content-Disposition header
        if ($part->ifdisposition) {
            if ('attachment' === \strtolower($part->disposition)) {
                return true;
            }

            if (
                    'inline' === \strtolower($part->disposition)
                && self::SUBTYPE_PLAIN !== \strtoupper($part->subtype)
                && self::SUBTYPE_HTML !== \strtoupper($part->subtype)
            ) {
                return true;
            }
        }

        // Attachment without Content-Disposition header
        if ($part->ifparameters) {
            foreach ($part->parameters as $parameter) {
                if (isset(self::$attachmentKeys[\strtolower($parameter->attribute)])) {
                    return true;
                }
            }
        }

        /*
        if ($part->ifdparameters) {
            foreach ($part->dparameters as $parameter) {
                if (isset(self::$attachmentKeys[\strtolower($parameter->attribute)])) {
                    return true;
                }
            }
        }
         */

        if (self::SUBTYPE_RFC822 === \strtoupper($part->subtype)) {
            return true;
        }

        return false;
    }
private static function isAttachment ( \ stdClass $ part ) : bool { if ( isset ( self :: $ typesMap [ $ part -> type ] ) && self :: TYPE_MULTIPART === self :: $ typesMap [ $ part -> type ] ) { return false ; } // Attachment with correct Content-Disposition header if ( $ part -> ifdisposition ) { if ( 'attachment' === \ strtolower ( $ part -> disposition ) ) { return true ; } if ( 'inline' === \ strtolower ( $ part -> disposition ) && self :: SUBTYPE_PLAIN !== \ strtoupper ( $ part -> subtype ) && self :: SUBTYPE_HTML !== \ strtoupper ( $ part -> subtype ) ) { return true ; } } // Attachment without Content-Disposition header if ( $ part -> ifparameters ) { foreach ( $ part -> parameters as $ parameter ) { if ( isset ( self :: $ attachmentKeys [ \ strtolower ( $ parameter -> attribute ) ] ) ) { return true ; } } } /*
        if ($part->ifdparameters) {
            foreach ($part->dparameters as $parameter) {
                if (isset(self::$attachmentKeys[\strtolower($parameter->attribute)])) {
                    return true;
                }
            }
        }
         */ if ( self :: SUBTYPE_RFC822 === \ strtoupper ( $ part -> subtype ) ) { return true ; } return false ; }
Check if the given part is an attachment.

@param \stdClass $part

@return bool
Check if the given part is an attachment .