/** * @param EmailBodyLoaded $event */ public function replace(EmailBodyLoaded $event) { $emailBody = $event->getEmail()->getEmailBody(); if ($emailBody !== null) { $content = $emailBody->getBodyContent(); $attachments = $emailBody->getAttachments(); $replacements = []; if (!$emailBody->getBodyIsText()) { foreach ($attachments as $attachment) { $contentId = $attachment->getEmbeddedContentId(); if ($contentId !== null && $this->supportsAttachment($attachment)) { $replacement = sprintf('data:%s;base64,%s', $attachment->getContentType(), $attachment->getContent()->getContent()); $replacements['cid:' . $contentId] = $replacement; } } $emailBody->setBodyContent(strtr($content, $replacements)); } } }
public function testConstruct() { $email = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Entity\\Email')->disableOriginalConstructor()->getMock(); $emailBodySyncAfter = new EmailBodyLoaded($email); $this->assertEquals($emailBodySyncAfter->getEmail(), $email); }