From 30a00fdbe171515234e84901a6061338d270a2dd Mon Sep 17 00:00:00 2001 From: Kevin Ditscheid <kevin.ditscheid@sgalinski.de> Date: Thu, 31 May 2018 12:53:58 +0200 Subject: [PATCH] [BUGFIX] Fix the attachment reference generation --- Classes/Service/MailTemplateService.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index 442c32f9..b0940b49 100644 --- a/Classes/Service/MailTemplateService.php +++ b/Classes/Service/MailTemplateService.php @@ -37,6 +37,7 @@ use TYPO3\CMS\Core\Cache\CacheManager; use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface; use TYPO3\CMS\Core\Mail\MailMessage; use TYPO3\CMS\Core\Resource\FileInterface; +use TYPO3\CMS\Core\Resource\ResourceFactory; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Domain\Model\FileReference; @@ -640,13 +641,20 @@ class MailTemplateService { */ public function addFileResourceAttachment($file) { if ($file instanceof FileReference) { - $this->markers[] = $file; $file = $file->getOriginalResource()->getOriginalFile(); - } elseif ($file instanceof FileInterface) { - $fileReference = $this->objectManager->get(FileReference::class); - $fileReference->setOriginalResource($file); - $this->markers[] = $fileReference; } + $fileReference = $this->objectManager->get(FileReference::class); + $resourceFactory = $this->objectManager->get(ResourceFactory::class); + $falFileReference = $resourceFactory->createFileReferenceObject( + [ + 'uid_local' => $file->getUid(), + 'uid_foreign' => uniqid('NEW_', TRUE), + 'uid' => uniqid('NEW_', TRUE), + 'crop' => NULL, + ] + ); + $fileReference->setOriginalResource($falFileReference); + $this->markers[] = $fileReference; $this->addAttachment($file->getContents(), $file->getName(), $file->getMimeType()); return $this; } -- GitLab