![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sales/Model/Order/Email/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\Order\Email; use Magento\Framework\Mail\Template\TransportBuilder; use Magento\Framework\Mail\Template\TransportBuilderByStore; use Magento\Sales\Model\Order\Email\Container\IdentityInterface; use Magento\Sales\Model\Order\Email\Container\Template; /** * Sender Builder */ class SenderBuilder { /** * @var Template */ protected $templateContainer; /** * @var IdentityInterface */ protected $identityContainer; /** * @var TransportBuilder */ protected $transportBuilder; /** * @SuppressWarnings(PHPMD.UnusedFormalParameter) * * @param Template $templateContainer * @param IdentityInterface $identityContainer * @param TransportBuilder $transportBuilder * @param TransportBuilderByStore $transportBuilderByStore */ public function __construct( Template $templateContainer, IdentityInterface $identityContainer, TransportBuilder $transportBuilder, TransportBuilderByStore $transportBuilderByStore = null ) { $this->templateContainer = $templateContainer; $this->identityContainer = $identityContainer; $this->transportBuilder = $transportBuilder; } /** * Prepare and send email message * * @return void */ public function send() { $this->configureEmailTemplate(); $this->transportBuilder->addTo( $this->identityContainer->getCustomerEmail(), $this->identityContainer->getCustomerName() ); $copyTo = $this->identityContainer->getEmailCopyTo(); if (!empty($copyTo) && $this->identityContainer->getCopyMethod() == 'bcc') { foreach ($copyTo as $email) { $this->transportBuilder->addBcc($email); } } $transport = $this->transportBuilder->getTransport(); $transport->sendMessage(); } /** * Prepare and send copy email message * * @return void */ public function sendCopyTo() { $copyTo = $this->identityContainer->getEmailCopyTo(); if (!empty($copyTo)) { foreach ($copyTo as $email) { $this->configureEmailTemplate(); $this->transportBuilder->addTo($email); $transport = $this->transportBuilder->getTransport(); $transport->sendMessage(); } } } /** * Configure email template * * @return void */ protected function configureEmailTemplate() { $this->transportBuilder->setTemplateIdentifier($this->templateContainer->getTemplateId()); $this->transportBuilder->setTemplateOptions($this->templateContainer->getTemplateOptions()); $this->transportBuilder->setTemplateVars($this->templateContainer->getTemplateVars()); $this->transportBuilder->setFromByScope( $this->identityContainer->getEmailIdentity(), $this->identityContainer->getStore()->getId() ); } }