/** * Save an attachment binary to a file in host temp folder * * @param \Shockwavemk\Mail\Base\Model\Mail\Attachment $attachment * @return int $id */ public function saveAttachment($attachment) { $binaryData = $attachment->getBinary(); $mail = $attachment->getMail(); $folderPath = $this->getMailFolderPath($mail) . DIRECTORY_SEPARATOR . self::ATTACHMENT_PATH; // create a folder for message if needed $this->prepareFolderPath($folderPath); // try to store message to filesystem return $this->storeFile($binaryData, $this->getMailLocalFilePath($mail, DIRECTORY_SEPARATOR . self::ATTACHMENT_PATH . $attachment->getFilePath())); }
/** * Save an attachment binary to a file in host temp folder * * @param \Shockwavemk\Mail\Base\Model\Mail\Attachment $attachment * @return int $id * @throws \Magento\Framework\Exception\FileSystemException * @throws \Magento\Framework\Exception\MailException * @throws \Exception */ 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); }