diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index 442c32f9cefd82132403e669f81740aed9f34da1..b0940b498ae443741bfa2fab662762f168c779ca 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; }