/** * Get mail * * @return \Shockwavemk\Mail\Base\Model\Mail * @throws \Magento\Framework\Exception\MailException */ public function getMail() { /** @noinspection IsEmptyFunctionUsageInspection */ if (empty($this->_mail)) { $this->_mail = $this->objectManager->create('Shockwavemk\\Mail\\Base\\Model\\Mail'); /** @var \Shockwavemk\Mail\Base\Model\Mail\AttachmentCollection $attachmentCollection */ $attachmentCollection = $this->objectManager->get('Shockwavemk\\Mail\\Base\\Model\\Mail\\AttachmentCollection'); foreach ($attachmentCollection as $attachment) { $this->_mail->addAttachment($attachment); } } return $this->_mail; }
/** * Save all attachments of a given mail * * @param \Shockwavemk\Mail\Base\Model\Mail $mail * @return $this */ public function saveAttachments($mail) { /** @var \Shockwavemk\Mail\Base\Model\Mail\Attachment[] $attachments */ $attachments = $mail->getAttachments(); foreach ($attachments as $attachment) { $this->saveAttachment($attachment); } return $this; }
/** * TODO * * @param \Shockwavemk\Mail\Base\Model\Mail $mail * * @return TransportBuilder * @throws \Magento\Framework\Exception\MailException */ protected function deriveTransportBuilderFromExistingMail($mail) { return $this->transportBuilder->setTemplateIdentifier($mail->getTemplateIdentifier())->setTemplateOptions(['area' => Area::AREA_FRONTEND, 'store' => $mail->getStoreId()])->setTemplateVars($mail->getVars())->setFrom($mail->getSenderMail()); }