public function saveAttachment($attachment)
    {
        $binaryData = $attachment->getBinary();
        /** @var \Shockwavemk\Mail\Base\Model\Mail $mail */
        $mail = $attachment->getMail();

        $folderPath = $this->getMailFolderPathById($mail->getId()) .
            DIRECTORY_SEPARATOR .
            self::ATTACHMENT_PATH;

        // create a folder for message if needed
        $this->createFolder($folderPath);

        // try to store message to filesystem
        $filePath = $this->storeFile(
            $binaryData,
            $this->getMailFolderPathById($mail->getId()) .
                DIRECTORY_SEPARATOR .
                self::ATTACHMENT_PATH .
                DIRECTORY_SEPARATOR .
                basename($attachment->getFilePath())
        );
        
        $attachment->setFilePath($filePath);
    }