| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Email\Model\Mail;
- use Magento\Framework\App\Config\ScopeConfigInterface;
- use Magento\Framework\Exception\MailException;
- use Magento\Framework\Mail\TransportInterface;
- use Magento\Store\Model\ScopeInterface;
- /**
- * Plugin over \Magento\Framework\Mail\TransportInterface
- *
- * It disables email sending depending on the system configuration settings
- */
- class TransportInterfacePlugin
- {
- /**
- * @var ScopeConfigInterface
- */
- private $scopeConfig;
- /**
- * @param ScopeConfigInterface $scopeConfig
- */
- public function __construct(
- ScopeConfigInterface $scopeConfig
- ) {
- $this->scopeConfig = $scopeConfig;
- }
- /**
- * Omit email sending depending on the system configuration setting
- *
- * @param TransportInterface $subject
- * @param \Closure $proceed
- * @return void
- * @throws MailException
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function aroundSendMessage(
- TransportInterface $subject,
- \Closure $proceed
- ) {
- if (!$this->scopeConfig->isSetFlag('system/smtp/disable', ScopeInterface::SCOPE_STORE)) {
- $proceed();
- }
- }
- }
|