Answers for "magento 2 add cc transportbuilder"

0

magento 2 add cc transportbuilder

<?php
/**
 * MyCompany Email.
 */

namespace MyCompany\Email\Plugin;

use Magento\Framework\Mail\Template\TransportBuilder;

/**
 * Class CcPlugin.
 */
class CcPlugin extends \Magento\Framework\Mail\Template\TransportBuilder
{
    /**
     * @var \Magento\Framework\App\Config\ScopeConfigInterface
     */
    private $scopeConfig;

    /**
     * @var \Psr\Log\LoggerInterface
     */
    private $logger;

    /**
     * CcPlugin constructor.
     *
     * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
     * @param \Psr\Log\LoggerInterface                           $logger
     */
    public function __construct(
        \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
        \Psr\Log\LoggerInterface $logger
    ) {
        $this->scopeConfig = $scopeConfig;
        $this->logger = $logger;
    }

    /**
     * Set cc for transactional emails, if configured via admin.
     */
    public function beforeGetTransport(TransportBuilder $subject)
    {
        try {
            $path = 'email/general/cc';
            if ($this->scopeConfig) {
                $ccEmailAddress = $this->scopeConfig->getValue(
                    $path,
                    \Magento\Store\Model\ScopeInterface::SCOPE_STORE
                );
                if (!empty($ccEmailAddress)) {
                    $subject->addCc($ccEmailAddress);
                }
            }
        } catch (\Exception $e) {
            $this->logger->error('Failure in MyCompany Cc module: ' . $e->getMessage());
        }

        return [];
    }
}
Posted by: Guest on September-10-2021
0

magento 2 add cc transportbuilder

<section id="email" translate="label" type="text" sortOrder="80" showInDefault="1">
        <class>separator-top</class>
        <label>Emails</label>
        <tab>mycompany</tab>
        <resource>MyCompany_Email::config_section</resource>
        <group id="general" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>General Settings</label>
            <field id="cc" translate="label comment" type="text" sortOrder="20" showInDefault="1">
                <label>CC Email Address</label>
                <comment>A cc copy of any transactional email will be sent to this address. Leave empty to switch off.</comment>
            </field>
        </group>
    </section>
Posted by: Guest on September-10-2021
0

magento 2 add cc transportbuilder

<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * MyCompany Email.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Framework\Mail\Template\TransportBuilder">
        <plugin name="mycompany_email" type="MyCompany\Email\Plugin\CcPlugin"/>
    </type>
</config>
Posted by: Guest on September-10-2021

Browse Popular Code Answers by Language